Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb3fec14 authored by Lv Zheng's avatar Lv Zheng Committed by Rafael J. Wysocki
Browse files

ACPICA: Remove unused ACPI_FREE_BUFFER macro. No functional change.



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: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 5af2b635
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -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;
	}

+7 −3
Original line number Diff line number Diff line
@@ -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;

+2 −10
Original line number Diff line number Diff line
@@ -928,22 +928,14 @@ 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 */
	void *pointer;		/* pointer to 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
 */