diff options
author | NeilBrown <neilb@suse.de> | 2010-08-10 10:02:33 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-08-10 10:02:33 +1000 |
commit | fd8aa2c1811bf60ccb2d5de0579c6f62aec1772d (patch) | |
tree | 311567d03758afc3a93b4273fe172836e89bb01d /drivers/acpi/battery.c | |
parent | 6e17b0276452912cb13445e5ea552b599984675f (diff) | |
parent | 2144381da478cc4aa3a29ee29b0c5e6ddaaced14 (diff) |
Merge git://git.infradead.org/users/dwmw2/libraid-2.6 into for-linus
Diffstat (limited to 'drivers/acpi/battery.c')
-rw-r--r-- | drivers/acpi/battery.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 3026e3fa83e..dc58402b0a1 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -868,9 +868,15 @@ static void acpi_battery_remove_fs(struct acpi_device *device) static void acpi_battery_notify(struct acpi_device *device, u32 event) { struct acpi_battery *battery = acpi_driver_data(device); +#ifdef CONFIG_ACPI_SYSFS_POWER + struct device *old; +#endif if (!battery) return; +#ifdef CONFIG_ACPI_SYSFS_POWER + old = battery->bat.dev; +#endif acpi_battery_update(battery); acpi_bus_generate_proc_event(device, event, acpi_battery_present(battery)); @@ -879,7 +885,7 @@ static void acpi_battery_notify(struct acpi_device *device, u32 event) acpi_battery_present(battery)); #ifdef CONFIG_ACPI_SYSFS_POWER /* acpi_battery_update could remove power_supply object */ - if (battery->bat.dev) + if (old && battery->bat.dev) power_supply_changed(&battery->bat); #endif } |