make acpi_path_name() global
Subsystems (2)
PATCH 1/2 make acpi_path_name() global
From: Randy Dunlap <randy_d_dunlap-VuQAYsv1563Yd54FQh9/[email protected]>
Make acpi_path_name() usable by everyone.
I need this for adding SATA suspend/resume ACPI support.
Note:
This function is now a memory allocator and callers should kfree() the memory when done with it. It doesn't seem safe to me to leave it as returning a pointer to a static buffer (as it was in multiple cloned copies) as we add callers to it.
--- drivers/acpi/osl.c | 29 +++++++++++++++++++++++++++++ include/acpi/acpiosxf.h | 2 ++ 2 files changed, 31 insertions(+)
drivers/acpi/osl.c +29 -0
@@ -1078,6 +1078,35 @@ void acpi_os_release_lock(acpi_handle haspin_unlock_irqrestore ((spinlock_t *) handle, flags); } +/** +* acpi_path_name - get ACPI path_name for the given handle +* @handle: ACPI object handle to look up name of +* +* Allocates memory if successul. Caller must free the memory. +* +* Returns: pointer to path_name if successful, NULL if not. +*/ +u8 *acpi_path_name (acpi_handle handle) +{ +acpi_status status; +static u8 *path_name; +struct acpi_buffer ret_buf = {ACPI_PATHNAME_MAX , path_name}; + + path_name =kzalloc (ACPI_PATHNAME_MAX ,GFP_KERNEL ); +if (!path_name) +return NULL ; + + status =acpi_get_name (handle,ACPI_FULL_PATHNAME , &ret_buf); + +if (ACPI_FAILURE (status)) { +acpi_os_free (path_name); +return NULL ; + } + +return path_name; +} +EXPORT_SYMBOL (acpi_path_name); +#ifndef ACPI_USE_LOCAL_CACHE /*******************************************************************************
include/acpi/acpiosxf.h +2 -0
@@ -112,6 +112,8 @@ unsigned long acpi_os_acquire_lock(acpi_void acpi_os_release_lock (acpi_handle handle,unsigned long flags); +u8 *acpi_path_name (acpi_handle handle); +/* * Memory allocation and mapping */
---
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click