Merge branches 'acpi-apei', 'acpi-x86', 'acpi-battery' and 'acpi-pfrut'
[linux-block.git] / drivers / acpi / battery.c
index 28b0d1d6e225bc1ba869e460bcea475d48b064b8..883c75757400eb8c097b2d15785b0ca6d253b124 100644 (file)
@@ -696,7 +696,8 @@ static void __battery_hook_unregister(struct acpi_battery_hook *hook, int lock)
        if (lock)
                mutex_lock(&hook_mutex);
        list_for_each_entry(battery, &acpi_battery_list, list) {
-               hook->remove_battery(battery->bat);
+               if (!hook->remove_battery(battery->bat))
+                       power_supply_changed(battery->bat);
        }
        list_del(&hook->list);
        if (lock)
@@ -735,6 +736,8 @@ void battery_hook_register(struct acpi_battery_hook *hook)
                        __battery_hook_unregister(hook, 0);
                        goto end;
                }
+
+               power_supply_changed(battery->bat);
        }
        pr_info("new extension: %s\n", hook->name);
 end: