Commit aafbcd16 authored by Alexey Starikovskiy's avatar Alexey Starikovskiy Committed by Len Brown

ACPI: invoke acpi_sleep_init() earlier

late_initcall() is too late for acpi_sleep_init().
Call it directly from acpi_init code.

http://bugzilla.kernel.org/show_bug.cgi?id=7887Signed-off-by: default avatarAlexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: default avatarVladimir Lebedev <vladimir.p.lebedev@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent ed41dab9
...@@ -147,7 +147,7 @@ int acpi_bus_get_power(acpi_handle handle, int *state) ...@@ -147,7 +147,7 @@ int acpi_bus_get_power(acpi_handle handle, int *state)
*state = ACPI_STATE_D0; *state = ACPI_STATE_D0;
} else { } else {
/* /*
* Get the device's power state either directly (via _PSC) or * Get the device's power state either directly (via _PSC) or
* indirectly (via power resources). * indirectly (via power resources).
*/ */
if (device->power.flags.explicit_get) { if (device->power.flags.explicit_get) {
...@@ -462,7 +462,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data) ...@@ -462,7 +462,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
"Received BUS CHECK notification for device [%s]\n", "Received BUS CHECK notification for device [%s]\n",
device->pnp.bus_id)); device->pnp.bus_id));
result = acpi_bus_check_scope(device); result = acpi_bus_check_scope(device);
/* /*
* TBD: We'll need to outsource certain events to non-ACPI * TBD: We'll need to outsource certain events to non-ACPI
* drivers via the device manager (device.c). * drivers via the device manager (device.c).
*/ */
...@@ -473,7 +473,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data) ...@@ -473,7 +473,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
"Received DEVICE CHECK notification for device [%s]\n", "Received DEVICE CHECK notification for device [%s]\n",
device->pnp.bus_id)); device->pnp.bus_id));
result = acpi_bus_check_device(device, NULL); result = acpi_bus_check_device(device, NULL);
/* /*
* TBD: We'll need to outsource certain events to non-ACPI * TBD: We'll need to outsource certain events to non-ACPI
* drivers via the device manager (device.c). * drivers via the device manager (device.c).
*/ */
...@@ -543,7 +543,7 @@ static int __init acpi_bus_init_irq(void) ...@@ -543,7 +543,7 @@ static int __init acpi_bus_init_irq(void)
char *message = NULL; char *message = NULL;
/* /*
* Let the system know what interrupt model we are using by * Let the system know what interrupt model we are using by
* evaluating the \_PIC object, if exists. * evaluating the \_PIC object, if exists.
*/ */
...@@ -684,7 +684,7 @@ static int __init acpi_bus_init(void) ...@@ -684,7 +684,7 @@ static int __init acpi_bus_init(void)
* the EC device is found in the namespace (i.e. before acpi_initialize_objects() * the EC device is found in the namespace (i.e. before acpi_initialize_objects()
* is called). * is called).
* *
* This is accomplished by looking for the ECDT table, and getting * This is accomplished by looking for the ECDT table, and getting
* the EC parameters out of that. * the EC parameters out of that.
*/ */
status = acpi_ec_ecdt_probe(); status = acpi_ec_ecdt_probe();
...@@ -699,6 +699,9 @@ static int __init acpi_bus_init(void) ...@@ -699,6 +699,9 @@ static int __init acpi_bus_init(void)
printk(KERN_INFO PREFIX "Interpreter enabled\n"); printk(KERN_INFO PREFIX "Interpreter enabled\n");
/* Initialize sleep structures */
acpi_sleep_init();
/* /*
* Get the system interrupt model and evaluate \_PIC. * Get the system interrupt model and evaluate \_PIC.
*/ */
......
...@@ -200,7 +200,7 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = { ...@@ -200,7 +200,7 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
{}, {},
}; };
static int __init acpi_sleep_init(void) int __init acpi_sleep_init(void)
{ {
int i = 0; int i = 0;
...@@ -229,4 +229,3 @@ static int __init acpi_sleep_init(void) ...@@ -229,4 +229,3 @@ static int __init acpi_sleep_init(void)
return 0; return 0;
} }
late_initcall(acpi_sleep_init);
...@@ -128,4 +128,14 @@ extern void unregister_hotplug_dock_device(acpi_handle handle); ...@@ -128,4 +128,14 @@ extern void unregister_hotplug_dock_device(acpi_handle handle);
#define register_hotplug_dock_device(h1, h2, c) (-ENODEV) #define register_hotplug_dock_device(h1, h2, c) (-ENODEV)
#define unregister_hotplug_dock_device(h) do { } while(0) #define unregister_hotplug_dock_device(h) do { } while(0)
#endif #endif
/*--------------------------------------------------------------------------
Suspend/Resume
-------------------------------------------------------------------------- */
#ifdef CONFIG_ACPI_SLEEP
extern int acpi_sleep_init(void);
#else
#define acpi_sleep_init() do {} while (0)
#endif
#endif /*__ACPI_DRIVERS_H__*/ #endif /*__ACPI_DRIVERS_H__*/
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