aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2008-08-11 02:54:16 -0400
committerLen Brown <len.brown@intel.com>2008-10-22 17:59:36 -0400
commiteab4b645769fa2f8703f5a3cb0cc4ac090d347af (patch)
tree50c488ec8c020223af71931fe35d872de3c02ade
parenta51e145f379ae48003129610922595893e8efde0 (diff)
ACPI: Attach the ACPI device to the ACPI handle as early as possible
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>
-rw-r--r--drivers/acpi/scan.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 308ddb1c207c..ad0679843bd5 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -1253,6 +1253,16 @@ acpi_add_single_object(struct acpi_device **child,
1253 acpi_device_set_id(device, parent, handle, type); 1253 acpi_device_set_id(device, parent, handle, type);
1254 1254
1255 /* 1255 /*
1256 * The ACPI device is attached to acpi handle before getting
1257 * the power/wakeup/peformance flags. Otherwise OS can't get
1258 * the corresponding ACPI device by the acpi handle in the course
1259 * of getting the power/wakeup/performance flags.
1260 */
1261 result = acpi_device_set_context(device, type);
1262 if (result)
1263 goto end;
1264
1265 /*
1256 * Power Management 1266 * Power Management
1257 * ---------------- 1267 * ----------------
1258 */ 1268 */
@@ -1282,8 +1292,6 @@ acpi_add_single_object(struct acpi_device **child,
1282 goto end; 1292 goto end;
1283 } 1293 }
1284 1294
1285 if ((result = acpi_device_set_context(device, type)))
1286 goto end;
1287 1295
1288 result = acpi_device_register(device, parent); 1296 result = acpi_device_register(device, parent);
1289 1297