aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2009-03-24 18:49:53 -0400
committerLen Brown <len.brown@intel.com>2009-03-27 12:50:11 -0400
commit44515374cba9e46d5622256b43eb06b9c349cee1 (patch)
treeef165c24ba7b0d6add3812fcfc56302a0acd1d25
parenta5f820feb54a59fcdaf4a67a6381ea1ddb36cc6e (diff)
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 <bjorn.helgaas@hp.com> CC: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--drivers/acpi/bus.c1
-rw-r--r--drivers/acpi/internal.h2
-rw-r--r--drivers/acpi/power.c8
3 files changed, 3 insertions, 8 deletions
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)
881 881
882 acpi_scan_init(); 882 acpi_scan_init();
883 acpi_ec_init(); 883 acpi_ec_init();
884 acpi_power_init();
884 return result; 885 return result;
885} 886}
886 887
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);
5/* -------------------------------------------------------------------------- 5/* --------------------------------------------------------------------------
6 Power Resource 6 Power Resource
7 -------------------------------------------------------------------------- */ 7 -------------------------------------------------------------------------- */
8 8int acpi_power_init(void);
9int acpi_device_sleep_wake(struct acpi_device *dev, 9int acpi_device_sleep_wake(struct acpi_device *dev,
10 int enable, int sleep_state, int dev_state); 10 int enable, int sleep_state, int dev_state);
11int acpi_enable_wakeup_device_power(struct acpi_device *dev, int sleep_state); 11int 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)
773 return 0; 773 return 0;
774} 774}
775 775
776static int __init acpi_power_init(void) 776int __init acpi_power_init(void)
777{ 777{
778 int result = 0; 778 int result = 0;
779 779
780
781 if (acpi_disabled)
782 return 0;
783
784 INIT_LIST_HEAD(&acpi_power_resource_list); 780 INIT_LIST_HEAD(&acpi_power_resource_list);
785 781
786 acpi_power_dir = proc_mkdir(ACPI_POWER_CLASS, acpi_root_dir); 782 acpi_power_dir = proc_mkdir(ACPI_POWER_CLASS, acpi_root_dir);
@@ -795,5 +791,3 @@ static int __init acpi_power_init(void)
795 791
796 return 0; 792 return 0;
797} 793}
798
799subsys_initcall(acpi_power_init);