diff options
author | Len Brown <len.brown@intel.com> | 2009-04-05 01:48:46 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-04-05 01:48:46 -0400 |
commit | 59b17bf6ea06abed519dfc788fff1b6b9499d23f (patch) | |
tree | 6f7e870659f91e753dc515cc1b8702420dd6a81e /drivers/acpi/battery.c | |
parent | edd84690d15e4cb144cc60b754d4eaf8fac0a711 (diff) | |
parent | 0f66af530116e9f4dd97f328d91718b56a6fc5a4 (diff) |
Merge branch 'async-battery' into release
Conflicts:
drivers/acpi/Makefile
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/battery.c')
-rw-r--r-- | drivers/acpi/battery.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 09a2240d5605..5dfe18bf24cb 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -30,6 +30,7 @@ #include <linux/init.h> #include <linux/types.h> #include <linux/jiffies.h> +#include <linux/async.h> #ifdef CONFIG_ACPI_PROCFS_POWER #include <linux/proc_fs.h> @@ -903,21 +904,27 @@ static struct acpi_driver acpi_battery_driver = { }, }; -static int __init acpi_battery_init(void) +static void __init acpi_battery_init_async(void *unused, async_cookie_t cookie) { if (acpi_disabled) - return -ENODEV; + return; #ifdef CONFIG_ACPI_PROCFS_POWER acpi_battery_dir = acpi_lock_battery_dir(); if (!acpi_battery_dir) - return -ENODEV; + return; #endif if (acpi_bus_register_driver(&acpi_battery_driver) < 0) { #ifdef CONFIG_ACPI_PROCFS_POWER acpi_unlock_battery_dir(acpi_battery_dir); #endif - return -ENODEV; + return; } + return; +} + +static int __init acpi_battery_init(void) +{ + async_schedule(acpi_battery_init_async, NULL); return 0; } |