Commit 6ade0eeb authored by Patrick Mochel's avatar Patrick Mochel

ACPI: Add call to acpi_ec_ecdt_probe() from acpi_bus_init() again and fix the comment to

explicitly say that it must be called before acpi_initialize_objects().
parent 95174c3e
...@@ -87,6 +87,13 @@ int acpi_power_transition (struct acpi_device *device, int state); ...@@ -87,6 +87,13 @@ int acpi_power_transition (struct acpi_device *device, int state);
#endif #endif
/* --------------------------------------------------------------------------
Embedded Controller
-------------------------------------------------------------------------- */
#ifdef CONFIG_ACPI_EC
int acpi_ec_ecdt_probe (void);
#endif
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
Processor Processor
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
......
...@@ -623,6 +623,20 @@ acpi_bus_init (void) ...@@ -623,6 +623,20 @@ acpi_bus_init (void)
goto error1; goto error1;
} }
#ifdef CONFIG_ACPI_EC
/*
* ACPI 2.0 requires the EC driver to be loaded and work before
* the EC device is found in the namespace (i.e. before acpi_initialize_objects()
* is called).
*
* This is accomplished by looking for the ECDT table, and getting
* the EC parameters out of that.
*/
status = acpi_ec_ecdt_probe();
if (ACPI_FAILURE(status))
goto error1;
#endif
status = acpi_initialize_objects(ACPI_FULL_INITIALIZATION); status = acpi_initialize_objects(ACPI_FULL_INITIALIZATION);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX "Unable to initialize ACPI objects\n"); printk(KERN_ERR PREFIX "Unable to initialize ACPI objects\n");
......
...@@ -731,7 +731,7 @@ acpi_ec_stop ( ...@@ -731,7 +731,7 @@ acpi_ec_stop (
} }
static int __init int __init
acpi_ec_ecdt_probe (void) acpi_ec_ecdt_probe (void)
{ {
acpi_status status; acpi_status status;
...@@ -798,17 +798,8 @@ static int __init acpi_ec_init (void) ...@@ -798,17 +798,8 @@ static int __init acpi_ec_init (void)
if (acpi_disabled) if (acpi_disabled)
return_VALUE(0); return_VALUE(0);
/*
* ACPI 2.0 requires the EC driver to be loaded and work before
* the EC device is found in the namespace. This is accomplished
* by looking for the ECDT table, and getting the EC parameters out
* of that.
*/
result = acpi_ec_ecdt_probe();
/* Now register the driver for the EC */ /* Now register the driver for the EC */
if (!result) result = acpi_bus_register_driver(&acpi_ec_driver);
result = acpi_bus_register_driver(&acpi_ec_driver);
return_VALUE(result); return_VALUE(result);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment