ACPI: call acpi_system_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:49:58 +0000 (16:49 -0600)]
This patch makes acpi_init() call acpi_system_init() directly.
Previously, both were subsys_initcalls.  acpi_system_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>
Signed-off-by: Len Brown <len.brown@intel.com>

drivers/acpi/bus.c
drivers/acpi/internal.h
drivers/acpi/system.c

index 946610f..c133072 100644 (file)
@@ -882,6 +882,7 @@ static int __init acpi_init(void)
        acpi_scan_init();
        acpi_ec_init();
        acpi_power_init();
+       acpi_system_init();
        return result;
 }
 
index a8178ad..4a35f6e 100644 (file)
@@ -1,6 +1,7 @@
 /* For use by Linux/ACPI infrastructure, not drivers */
 
 int acpi_scan_init(void);
+int acpi_system_init(void);
 
 /* --------------------------------------------------------------------------
                                   Power Resource
index 391d035..3b88981 100644 (file)
@@ -571,12 +571,9 @@ static int acpi_system_procfs_init(void)
 }
 #endif
 
-static int __init acpi_system_init(void)
+int __init acpi_system_init(void)
 {
-       int result = 0;
-
-       if (acpi_disabled)
-               return 0;
+       int result;
 
        result = acpi_system_procfs_init();
        if (result)
@@ -586,5 +583,3 @@ static int __init acpi_system_init(void)
 
        return result;
 }
-
-subsys_initcall(acpi_system_init);