OSDN Git Service

ACPICA: Remove unused ACPI_FREE_BUFFER macro. No functional change.
authorLv Zheng <lv.zheng@intel.com>
Wed, 8 Jan 2014 05:43:23 +0000 (13:43 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 8 Jan 2014 14:31:36 +0000 (15:31 +0100)
This macro is no longer used by ACPICA and it is not public.
Also update comments related to the use of ACPI_ALLOCATE_BUFFER and
the use of acpi_os_free (kfree is equivalent and prefered in the
kernel) to free the buffer.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/nsxfeval.c
drivers/acpi/acpica/utalloc.c
include/acpi/actypes.h

index e973e31..1f0c28b 100644 (file)
@@ -84,7 +84,7 @@ acpi_evaluate_object_typed(acpi_handle handle,
                           acpi_object_type return_type)
 {
        acpi_status status;
-       u8 must_free = FALSE;
+       u8 free_buffer_on_error = FALSE;
 
        ACPI_FUNCTION_TRACE(acpi_evaluate_object_typed);
 
@@ -95,14 +95,13 @@ acpi_evaluate_object_typed(acpi_handle handle,
        }
 
        if (return_buffer->length == ACPI_ALLOCATE_BUFFER) {
-               must_free = TRUE;
+               free_buffer_on_error = TRUE;
        }
 
        /* Evaluate the object */
 
-       status =
-           acpi_evaluate_object(handle, pathname, external_params,
-                                return_buffer);
+       status = acpi_evaluate_object(handle, pathname,
+                                     external_params, return_buffer);
        if (ACPI_FAILURE(status)) {
                return_ACPI_STATUS(status);
        }
@@ -135,11 +134,15 @@ acpi_evaluate_object_typed(acpi_handle handle,
                                           pointer)->type),
                    acpi_ut_get_type_name(return_type)));
 
-       if (must_free) {
-
-               /* Caller used ACPI_ALLOCATE_BUFFER, free the return buffer */
-
-               ACPI_FREE_BUFFER(*return_buffer);
+       if (free_buffer_on_error) {
+               /*
+                * Free a buffer created via ACPI_ALLOCATE_BUFFER.
+                * Note: We use acpi_os_free here because acpi_os_allocate was used
+                * to allocate the buffer. This purposefully bypasses the
+                * (optionally enabled) allocation tracking mechanism since we
+                * only want to track internal allocations.
+                */
+               acpi_os_free(return_buffer->pointer);
                return_buffer->pointer = NULL;
        }
 
index 814267f..1851762 100644 (file)
@@ -302,9 +302,13 @@ acpi_ut_initialize_buffer(struct acpi_buffer * buffer,
                return (AE_BUFFER_OVERFLOW);
 
        case ACPI_ALLOCATE_BUFFER:
-
-               /* Allocate a new buffer */
-
+               /*
+                * Allocate a new buffer. We directectly call acpi_os_allocate here to
+                * purposefully bypass the (optionally enabled) internal allocation
+                * tracking mechanism since we only want to track internal
+                * allocations. Note: The caller should use acpi_os_free to free this
+                * buffer created via ACPI_ALLOCATE_BUFFER.
+                */
                buffer->pointer = acpi_os_allocate(required_length);
                break;
 
index 809b1a0..68a3ada 100644 (file)
@@ -928,8 +928,8 @@ struct acpi_object_list {
  * Miscellaneous common Data Structures used by the interfaces
  */
 #define ACPI_NO_BUFFER              0
-#define ACPI_ALLOCATE_BUFFER        (acpi_size) (-1)
-#define ACPI_ALLOCATE_LOCAL_BUFFER  (acpi_size) (-2)
+#define ACPI_ALLOCATE_BUFFER        (acpi_size) (-1)   /* Let ACPICA allocate buffer */
+#define ACPI_ALLOCATE_LOCAL_BUFFER  (acpi_size) (-2)   /* For internal use only (enables tracking) */
 
 struct acpi_buffer {
        acpi_size length;       /* Length in bytes of the buffer */
@@ -937,14 +937,6 @@ struct acpi_buffer {
 };
 
 /*
- * Free a buffer created in an struct acpi_buffer via ACPI_ALLOCATE_BUFFER.
- * Note: We use acpi_os_free here because acpi_os_allocate was used to allocate
- * the buffer. This purposefully bypasses the internal allocation tracking
- * mechanism (if it is enabled).
- */
-#define ACPI_FREE_BUFFER(b)         acpi_os_free((b).pointer)
-
-/*
  * name_type for acpi_get_name
  */
 #define ACPI_FULL_PATHNAME              0