aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2009-03-24 18:50:14 -0400
committerLen Brown <len.brown@intel.com>2009-03-27 12:51:23 -0400
commit9cee43e07940bee13462e63bd75ce4430b155886 (patch)
tree4cbb9e14dc14537eceddd9587596b01be2d2322d
parent0e46517d9660ee6ae0a0c5d8a4e50451bc84d61d (diff)
ACPI: call acpi_sleep_proc_init() explicitly rather than as initcall
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>
-rw-r--r--drivers/acpi/bus.c1
-rw-r--r--drivers/acpi/internal.h6
-rw-r--r--drivers/acpi/proc.c7
3 files changed, 8 insertions, 6 deletions
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index db9eca8d3cf2..a812e841cb64 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -885,6 +885,7 @@ static int __init acpi_init(void)
885 acpi_power_init(); 885 acpi_power_init();
886 acpi_system_init(); 886 acpi_system_init();
887 acpi_debug_init(); 887 acpi_debug_init();
888 acpi_sleep_proc_init();
888 return result; 889 return result;
889} 890}
890 891
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index 8a45dd8e03b5..8870e5fd8494 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -33,3 +33,9 @@ int acpi_boot_ec_enable(void);
33 Suspend/Resume 33 Suspend/Resume
34 -------------------------------------------------------------------------- */ 34 -------------------------------------------------------------------------- */
35extern int acpi_sleep_init(void); 35extern int acpi_sleep_init(void);
36
37#ifdef CONFIG_ACPI_SLEEP
38int acpi_sleep_proc_init(void);
39#else
40static inline int acpi_sleep_proc_init(void) { return 0; }
41#endif
diff --git a/drivers/acpi/proc.c b/drivers/acpi/proc.c
index 428c911dba08..05dfdc96802e 100644
--- a/drivers/acpi/proc.c
+++ b/drivers/acpi/proc.c
@@ -496,11 +496,8 @@ static u32 rtc_handler(void *context)
496} 496}
497#endif /* HAVE_ACPI_LEGACY_ALARM */ 497#endif /* HAVE_ACPI_LEGACY_ALARM */
498 498
499static int __init acpi_sleep_proc_init(void) 499int __init acpi_sleep_proc_init(void)
500{ 500{
501 if (acpi_disabled)
502 return 0;
503
504#ifdef CONFIG_ACPI_PROCFS 501#ifdef CONFIG_ACPI_PROCFS
505 /* 'sleep' [R/W] */ 502 /* 'sleep' [R/W] */
506 proc_create("sleep", S_IFREG | S_IRUGO | S_IWUSR, 503 proc_create("sleep", S_IFREG | S_IRUGO | S_IWUSR,
@@ -527,5 +524,3 @@ static int __init acpi_sleep_proc_init(void)
527 524
528 return 0; 525 return 0;
529} 526}
530
531late_initcall(acpi_sleep_proc_init);