| From eab4b645769fa2f8703f5a3cb0cc4ac090d347af Mon Sep 17 00:00:00 2001 |
| From: Zhao Yakui <yakui.zhao@intel.com> |
| Date: Mon, 11 Aug 2008 14:54:16 +0800 |
| Subject: ACPI: Attach the ACPI device to the ACPI handle as early as possible |
| |
| From: Zhao Yakui <yakui.zhao@intel.com> |
| |
| commit eab4b645769fa2f8703f5a3cb0cc4ac090d347af upstream. |
| |
| Attach the ACPI device to the ACPI handle as early as possible so that OS |
| can get the corresponding ACPI device by the acpi handle in the course |
| of getting the power/wakeup/performance flags. |
| |
| http://bugzilla.kernel.org/show_bug.cgi?id=8049 |
| http://bugzilla.kernel.org/show_bug.cgi?id=11000 |
| |
| Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> |
| Signed-off-by: Zhang Rui <rui.zhang@intel.com> |
| Signed-off-by: Andi Kleen <ak@linux.intel.com> |
| Signed-off-by: Len Brown <len.brown@intel.com> |
| Cc: Thomas Renninger <trenn@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/acpi/scan.c | 12 ++++++++++-- |
| 1 file changed, 10 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/acpi/scan.c |
| +++ b/drivers/acpi/scan.c |
| @@ -1262,6 +1262,16 @@ acpi_add_single_object(struct acpi_devic |
| acpi_device_set_id(device, parent, handle, type); |
| |
| /* |
| + * The ACPI device is attached to acpi handle before getting |
| + * the power/wakeup/peformance flags. Otherwise OS can't get |
| + * the corresponding ACPI device by the acpi handle in the course |
| + * of getting the power/wakeup/performance flags. |
| + */ |
| + result = acpi_device_set_context(device, type); |
| + if (result) |
| + goto end; |
| + |
| + /* |
| * Power Management |
| * ---------------- |
| */ |
| @@ -1291,8 +1301,6 @@ acpi_add_single_object(struct acpi_devic |
| goto end; |
| } |
| |
| - if ((result = acpi_device_set_context(device, type))) |
| - goto end; |
| |
| result = acpi_device_register(device, parent); |
| |