[patch 25/41] ACPI: Attach the ACPI device to the ACPI handle asearly as possible

From: Greg KH
Date: Wed Feb 04 2009 - 14:01:01 EST


2.6.27-stable review patch. If anyone has any objections, please let us know.

------------------

From: Zhao Yakui <yakui.zhao@xxxxxxxxx>

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@xxxxxxxxx>
Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Cc: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/