public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] convert acpi_path_name() callers (v2)
@ 2005-12-19 19:54 Randy Dunlap
  0 siblings, 0 replies; only message in thread
From: Randy Dunlap @ 2005-12-19 19:54 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	pcihpd-discuss-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
  Cc: robert.moore-ral2JQCrhuEAvxtiuMwx3w,
	kristen.c.accardi-ral2JQCrhuEAvxtiuMwx3w,
	len.brown-ral2JQCrhuEAvxtiuMwx3w, gregkh-l3A5Bk7waGM

From: Randy Dunlap <randy_d_dunlap-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

Convert the callers of local acpi_path_name() functions to use
the exported version of it.

Signed-off-by: Randy Dunlap <randy_d_dunlap-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
---
 drivers/pci/hotplug/pciehprm_acpi.c |   56 ++++++++++++++++++------------------
 drivers/pci/hotplug/shpchprm_acpi.c |   43 ++++++++++++---------------
 2 files changed, 47 insertions(+), 52 deletions(-)

--- linux-2615-rc6-acpi.orig/drivers/pci/hotplug/pciehprm_acpi.c
+++ linux-2615-rc6-acpi/drivers/pci/hotplug/pciehprm_acpi.c
@@ -38,21 +38,6 @@
 #define	METHOD_NAME__HPP	"_HPP"
 #define	METHOD_NAME_OSHP	"OSHP"
 
-static u8 * acpi_path_name( acpi_handle	handle)
-{
-	acpi_status		status;
-	static u8		path_name[ACPI_PATHNAME_MAX];
-	struct acpi_buffer	ret_buf = { ACPI_PATHNAME_MAX, path_name };
-
-	memset(path_name, 0, sizeof (path_name));
-	status = acpi_get_name(handle, ACPI_FULL_PATHNAME, &ret_buf);
-
-	if (ACPI_FAILURE(status))
-		return NULL;
-	else
-		return path_name;	
-}
-
 static acpi_status
 acpi_run_hpp(acpi_handle handle, struct hotplug_params *hpp)
 {
@@ -60,8 +45,11 @@ acpi_run_hpp(acpi_handle handle, struct 
 	u8			nui[4];
 	struct acpi_buffer	ret_buf = { 0, NULL};
 	union acpi_object	*ext_obj, *package;
-	u8			*path_name = acpi_path_name(handle);
 	int			i, len = 0;
+	struct acpi_buffer	namebuf = {ACPI_ALLOCATE_BUFFER, NULL};
+	char			*pathname = namebuf.pointer;
+
+	acpi_path_name(handle, &namebuf);
 
 	/* get _hpp */
 	status = acpi_evaluate_object(handle, METHOD_NAME__HPP, NULL, &ret_buf);
@@ -70,7 +58,8 @@ acpi_run_hpp(acpi_handle handle, struct 
 		ret_buf.pointer = kmalloc (ret_buf.length, GFP_KERNEL);
 		if (!ret_buf.pointer) {
 			err ("%s:%s alloc for _HPP fail\n", __FUNCTION__,
-					path_name);
+					pathname);
+			acpi_os_free(namebuf.pointer);
 			return AE_NO_MEMORY;
 		}
 		status = acpi_evaluate_object(handle, METHOD_NAME__HPP,
@@ -80,7 +69,8 @@ acpi_run_hpp(acpi_handle handle, struct 
 	default:
 		if (ACPI_FAILURE(status)) {
 			dbg("%s:%s _HPP fail=0x%x\n", __FUNCTION__,
-					path_name, status);
+					pathname, status);
+			acpi_os_free(namebuf.pointer);
 			return status;
 		}
 	}
@@ -88,7 +78,7 @@ acpi_run_hpp(acpi_handle handle, struct 
 	ext_obj = (union acpi_object *) ret_buf.pointer;
 	if (ext_obj->type != ACPI_TYPE_PACKAGE) {
 		err ("%s:%s _HPP obj not a package\n", __FUNCTION__,
-				path_name);
+				pathname);
 		status = AE_ERROR;
 		goto free_and_return;
 	}
@@ -103,7 +93,7 @@ acpi_run_hpp(acpi_handle handle, struct 
 			break;
 		default:
 			err ("%s:%s _HPP obj type incorrect\n", __FUNCTION__,
-					path_name);
+					pathname);
 			status = AE_ERROR;
 			goto free_and_return;
 		}
@@ -120,23 +110,28 @@ acpi_run_hpp(acpi_handle handle, struct 
 	dbg("  _HPP: enable PERR    =0x%x\n", hpp->enable_perr);
 
 free_and_return:
-	kfree(ret_buf.pointer);
+	acpi_os_free(ret_buf.pointer);
+	acpi_os_free(namebuf.pointer);
 	return status;
 }
 
 static acpi_status acpi_run_oshp(acpi_handle handle)
 {
 	acpi_status		status;
-	u8			*path_name = acpi_path_name(handle);
+	struct acpi_buffer	namebuf = {ACPI_ALLOCATE_BUFFER, NULL};
+	char			*pathname = namebuf.pointer;
+
+	acpi_path_name(handle, &namebuf);
 
 	/* run OSHP */
 	status = acpi_evaluate_object(handle, METHOD_NAME_OSHP, NULL, NULL);
 	if (ACPI_FAILURE(status)) {
-		dbg("%s:%s OSHP fails=0x%x\n", __FUNCTION__, path_name,
+		dbg("%s:%s OSHP fails=0x%x\n", __FUNCTION__, pathname,
 				status);
 	} else {
-		dbg("%s:%s OSHP passes\n", __FUNCTION__, path_name);
+		dbg("%s:%s OSHP passes\n", __FUNCTION__, pathname);
 	}
+	acpi_os_free(namebuf.pointer);
 	return status;
 }
 
@@ -174,7 +169,10 @@ int pciehp_get_hp_hw_control_from_firmwa
 	acpi_status status;
 	acpi_handle chandle, handle = DEVICE_ACPI_HANDLE(&(dev->dev));
 	struct pci_dev *pdev = dev;
-	u8 *path_name;
+	struct acpi_buffer	namebuf = {ACPI_ALLOCATE_BUFFER, NULL};
+	acpi_status		namests;
+	char			*pathname = namebuf.pointer;
+
 	/*
 	 * Per PCI firmware specification, we should run the ACPI _OSC
 	 * method to get control of hotplug hardware before using it.
@@ -204,17 +202,19 @@ int pciehp_get_hp_hw_control_from_firmwa
 	}
 
 	while (handle) {
-		path_name = acpi_path_name(handle);
-		dbg("Trying to get hotplug control for %s \n", path_name);
+		namests = acpi_path_name(handle, &namebuf);
+		dbg("Trying to get hotplug control for %s\n", pathname);
 		status = pci_osc_control_set(handle,
 				OSC_PCI_EXPRESS_NATIVE_HP_CONTROL);
 		if (status == AE_NOT_FOUND)
 			status = acpi_run_oshp(handle);
 		if (ACPI_SUCCESS(status)) {
 			dbg("Gained control for hotplug HW for pci %s (%s)\n",
-				pci_name(dev), path_name);
+				pci_name(dev), pathname);
+			acpi_os_free(namebuf.pointer);
 			return 0;
 		}
+		acpi_os_free(namebuf.pointer);
 		if (is_root_bridge(handle))
 			break;
 		chandle = handle;
--- linux-2615-rc6-acpi.orig/drivers/pci/hotplug/shpchprm_acpi.c
+++ linux-2615-rc6-acpi/drivers/pci/hotplug/shpchprm_acpi.c
@@ -37,21 +37,6 @@
 #define	METHOD_NAME__HPP	"_HPP"
 #define	METHOD_NAME_OSHP	"OSHP"
 
-static u8 * acpi_path_name( acpi_handle	handle)
-{
-	acpi_status		status;
-	static u8	path_name[ACPI_PATHNAME_MAX];
-	struct acpi_buffer		ret_buf = { ACPI_PATHNAME_MAX, path_name };
-
-	memset(path_name, 0, sizeof (path_name));
-	status = acpi_get_name(handle, ACPI_FULL_PATHNAME, &ret_buf);
-
-	if (ACPI_FAILURE(status))
-		return NULL;
-	else
-		return path_name;	
-}
-
 static acpi_status
 acpi_run_hpp(acpi_handle handle, struct hotplug_params *hpp)
 {
@@ -59,8 +44,11 @@ acpi_run_hpp(acpi_handle handle, struct 
 	u8			nui[4];
 	struct acpi_buffer	ret_buf = { 0, NULL};
 	union acpi_object	*ext_obj, *package;
-	u8			*path_name = acpi_path_name(handle);
 	int			i, len = 0;
+	struct acpi_buffer	namebuf = {ACPI_ALLOCATE_BUFFER, NULL};
+	char			*pathname = namebuf.pointer;
+
+	acpi_path_name(handle, &namebuf);
 
 	/* get _hpp */
 	status = acpi_evaluate_object(handle, METHOD_NAME__HPP, NULL, &ret_buf);
@@ -69,7 +57,8 @@ acpi_run_hpp(acpi_handle handle, struct 
 		ret_buf.pointer = kmalloc (ret_buf.length, GFP_KERNEL);
 		if (!ret_buf.pointer) {
 			err ("%s:%s alloc for _HPP fail\n", __FUNCTION__,
-					path_name);
+					pathname);
+			acpi_os_free(namebuf.pointer);
 			return AE_NO_MEMORY;
 		}
 		status = acpi_evaluate_object(handle, METHOD_NAME__HPP,
@@ -79,7 +68,8 @@ acpi_run_hpp(acpi_handle handle, struct 
 	default:
 		if (ACPI_FAILURE(status)) {
 			dbg("%s:%s _HPP fail=0x%x\n", __FUNCTION__,
-					path_name, status);
+					pathname, status);
+			acpi_os_free(namebuf.pointer);
 			return status;
 		}
 	}
@@ -87,7 +77,7 @@ acpi_run_hpp(acpi_handle handle, struct 
 	ext_obj = (union acpi_object *) ret_buf.pointer;
 	if (ext_obj->type != ACPI_TYPE_PACKAGE) {
 		err ("%s:%s _HPP obj not a package\n", __FUNCTION__,
-				path_name);
+				pathname);
 		status = AE_ERROR;
 		goto free_and_return;
 	}
@@ -102,7 +92,7 @@ acpi_run_hpp(acpi_handle handle, struct 
 			break;
 		default:
 			err ("%s:%s _HPP obj type incorrect\n", __FUNCTION__,
-					path_name);
+					pathname);
 			status = AE_ERROR;
 			goto free_and_return;
 		}
@@ -119,23 +109,28 @@ acpi_run_hpp(acpi_handle handle, struct 
 	dbg("  _HPP: enable PERR    =0x%x\n", hpp->enable_perr);
 
 free_and_return:
-	kfree(ret_buf.pointer);
+	acpi_os_free(ret_buf.pointer);
+	acpi_os_free(namebuf.pointer);
 	return status;
 }
 
 static void acpi_run_oshp(acpi_handle handle)
 {
 	acpi_status		status;
-	u8			*path_name = acpi_path_name(handle);
+	struct acpi_buffer	namebuf = {ACPI_ALLOCATE_BUFFER, NULL};
+	char			*pathname = namebuf.pointer;
+
+	acpi_path_name(handle, &namebuf);
 
 	/* run OSHP */
 	status = acpi_evaluate_object(handle, METHOD_NAME_OSHP, NULL, NULL);
 	if (ACPI_FAILURE(status)) {
-		err("%s:%s OSHP fails=0x%x\n", __FUNCTION__, path_name,
+		err("%s:%s OSHP fails=0x%x\n", __FUNCTION__, pathname,
 				status);
 	} else {
-		dbg("%s:%s OSHP passes\n", __FUNCTION__, path_name);
+		dbg("%s:%s OSHP passes\n", __FUNCTION__, pathname);
 	}
+	acpi_os_free(namebuf.pointer);
 }
 
 int shpchprm_get_physical_slot_number(struct controller *ctrl, u32 *sun, u8 busnum, u8 devnum)


---


-------------------------------------------------------
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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-12-19 19:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-19 19:54 [PATCH 2/2] convert acpi_path_name() callers (v2) Randy Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox