ACPI: call acpi_sleep_proc_init() explicitly rather than as initcall
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Tue, 24 Mar 2009 22:50:14 +0000 (16:50 -0600)
committerLen Brown <len.brown@intel.com>
Fri, 27 Mar 2009 16:51:23 +0000 (12:51 -0400)
This patch makes acpi_init() call acpi_sleep_proc_init() directly.
Previously, acpi_sleep_proc_init() was a late_initcall (sequence 7),
apparently to make sure that the /proc hierarchy already exists:

    2003/02/13 12:38:03-06:00 mochel
    acpi sleep: demote sleep proc file creation.

    - Make acpi_sleep_proc_init() a late_initcall(), and not called from
      acpi_sleep_init(). This guarantees that the acpi proc hierarchy is at
      least there when we create the dang file.

This should no longer be an issue because acpi_bus_init() (called early
in acpi_init()) creates acpi_root_dir (/proc/acpi).

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/proc.c

index db9eca8d3cf251781e39f1b45c99f529033bc718..a812e841cb64b5ba59c792719c6d9685fd06c8ef 100644 (file)
@@ -885,6 +885,7 @@ static int __init acpi_init(void)
        acpi_power_init();
        acpi_system_init();
        acpi_debug_init();
+       acpi_sleep_proc_init();
        return result;
 }
 
index 8a45dd8e03b55117849428723f0df77b5e1f4913..8870e5fd84942dc5d0f59d8c80d192554ebbff67 100644 (file)
@@ -33,3 +33,9 @@ int acpi_boot_ec_enable(void);
                                   Suspend/Resume
   -------------------------------------------------------------------------- */
 extern int acpi_sleep_init(void);
+
+#ifdef CONFIG_ACPI_SLEEP
+int acpi_sleep_proc_init(void);
+#else
+static inline int acpi_sleep_proc_init(void) { return 0; }
+#endif
index 428c911dba086511281e3b89b80642657a480d90..05dfdc96802e2fa0d4b2967868ea0f3ebdaad425 100644 (file)
@@ -496,11 +496,8 @@ static u32 rtc_handler(void *context)
 }
 #endif                         /* HAVE_ACPI_LEGACY_ALARM */
 
-static int __init acpi_sleep_proc_init(void)
+int __init acpi_sleep_proc_init(void)
 {
-       if (acpi_disabled)
-               return 0;
-
 #ifdef CONFIG_ACPI_PROCFS
        /* 'sleep' [R/W] */
        proc_create("sleep", S_IFREG | S_IRUGO | S_IWUSR,
@@ -527,5 +524,3 @@ static int __init acpi_sleep_proc_init(void)
 
        return 0;
 }
-
-late_initcall(acpi_sleep_proc_init);