aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2009-03-24 18:50:03 -0400
committerLen Brown <len.brown@intel.com>2009-03-27 12:50:29 -0400
commit84f810c33f695e020776ce66c903e0b41872f1b2 (patch)
tree31d0bf813d353e3a8d97638f8694d5edd86f1419 /drivers/acpi
parent141a0af3cab7de690816b17aad1682050219f774 (diff)
ACPI: call acpi_debug_init() explicitly rather than as initcall
This patch makes acpi_init() call acpi_debug_init() directly. Previously, both were subsys_initcalls. acpi_debug_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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/bus.c1
-rw-r--r--drivers/acpi/debug.c14
-rw-r--r--drivers/acpi/internal.h6
3 files changed, 13 insertions, 8 deletions
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index c13307279f7e..f32cfd64c999 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -883,6 +883,7 @@ static int __init acpi_init(void)
883 acpi_ec_init(); 883 acpi_ec_init();
884 acpi_power_init(); 884 acpi_power_init();
885 acpi_system_init(); 885 acpi_system_init();
886 acpi_debug_init();
886 return result; 887 return result;
887} 888}
888 889
diff --git a/drivers/acpi/debug.c b/drivers/acpi/debug.c
index 20223cbd0d1c..9cb189f3c77c 100644
--- a/drivers/acpi/debug.c
+++ b/drivers/acpi/debug.c
@@ -297,17 +297,15 @@ acpi_system_write_debug(struct file *file,
297 297
298 return count; 298 return count;
299} 299}
300#endif
300 301
301static int __init acpi_debug_init(void) 302int __init acpi_debug_init(void)
302{ 303{
304#ifdef CONFIG_ACPI_PROCFS
303 struct proc_dir_entry *entry; 305 struct proc_dir_entry *entry;
304 int error = 0; 306 int error = 0;
305 char *name; 307 char *name;
306 308
307
308 if (acpi_disabled)
309 return 0;
310
311 /* 'debug_layer' [R/W] */ 309 /* 'debug_layer' [R/W] */
312 name = ACPI_SYSTEM_FILE_DEBUG_LAYER; 310 name = ACPI_SYSTEM_FILE_DEBUG_LAYER;
313 entry = 311 entry =
@@ -338,7 +336,7 @@ static int __init acpi_debug_init(void)
338 remove_proc_entry(ACPI_SYSTEM_FILE_DEBUG_LAYER, acpi_root_dir); 336 remove_proc_entry(ACPI_SYSTEM_FILE_DEBUG_LAYER, acpi_root_dir);
339 error = -ENODEV; 337 error = -ENODEV;
340 goto Done; 338 goto Done;
341} 339#else
342 340 return 0;
343subsys_initcall(acpi_debug_init);
344#endif 341#endif
342}
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index 4a35f6e819d3..44b84021d84d 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -3,6 +3,12 @@
3int acpi_scan_init(void); 3int acpi_scan_init(void);
4int acpi_system_init(void); 4int acpi_system_init(void);
5 5
6#ifdef CONFIG_ACPI_DEBUG
7int acpi_debug_init(void);
8#else
9static inline int acpi_debug_init(void) { return 0; }
10#endif
11
6/* -------------------------------------------------------------------------- 12/* --------------------------------------------------------------------------
7 Power Resource 13 Power Resource
8 -------------------------------------------------------------------------- */ 14 -------------------------------------------------------------------------- */