|
@@ -643,11 +643,19 @@ static int acpi_battery_update(struct acpi_battery *battery)
|
|
|
|
|
|
static void acpi_battery_refresh(struct acpi_battery *battery)
|
|
|
{
|
|
|
+ int power_unit;
|
|
|
+
|
|
|
if (!battery->bat.dev)
|
|
|
return;
|
|
|
|
|
|
+ power_unit = battery->power_unit;
|
|
|
+
|
|
|
acpi_battery_get_info(battery);
|
|
|
- /* The battery may have changed its reporting units. */
|
|
|
+
|
|
|
+ if (power_unit == battery->power_unit)
|
|
|
+ return;
|
|
|
+
|
|
|
+ /* The battery has changed its reporting units. */
|
|
|
sysfs_remove_battery(battery);
|
|
|
sysfs_add_battery(battery);
|
|
|
}
|