From: Bjorn Helgaas Date: Tue, 24 Mar 2009 22:49:53 +0000 (-0600) Subject: ACPI: call acpi_power_init() explicitly rather than as initcall X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=44515374cba9e46d5622256b43eb06b9c349cee1;p=linux-beck.git ACPI: call acpi_power_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_power_init() directly. Previously, both were subsys_initcalls. acpi_power_init() must happen after acpi_init(), and it's better to call it explicitly rather than rely on link ordering. Signed-off-by: Bjorn Helgaas CC: Zhao Yakui Signed-off-by: Len Brown --- diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index 9ca683794370..946610f00aa1 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c @@ -881,6 +881,7 @@ static int __init acpi_init(void) acpi_scan_init(); acpi_ec_init(); + acpi_power_init(); return result; } diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h index fad8e38ed271..a8178add7fd1 100644 --- a/drivers/acpi/internal.h +++ b/drivers/acpi/internal.h @@ -5,7 +5,7 @@ int acpi_scan_init(void); /* -------------------------------------------------------------------------- Power Resource -------------------------------------------------------------------------- */ - +int acpi_power_init(void); int acpi_device_sleep_wake(struct acpi_device *dev, int enable, int sleep_state, int dev_state); int acpi_enable_wakeup_device_power(struct acpi_device *dev, int sleep_state); diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c index c926e7d4a0d6..11968ba28feb 100644 --- a/drivers/acpi/power.c +++ b/drivers/acpi/power.c @@ -773,14 +773,10 @@ static int acpi_power_resume(struct acpi_device *device) return 0; } -static int __init acpi_power_init(void) +int __init acpi_power_init(void) { int result = 0; - - if (acpi_disabled) - return 0; - INIT_LIST_HEAD(&acpi_power_resource_list); acpi_power_dir = proc_mkdir(ACPI_POWER_CLASS, acpi_root_dir); @@ -795,5 +791,3 @@ static int __init acpi_power_init(void) return 0; } - -subsys_initcall(acpi_power_init);