]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ACPI: battery: remove redundant old_present check on insertion
authorLucas Rangit Magasweran <lucas.magasweran@ieee.org>
Sat, 14 Jul 2018 22:40:18 +0000 (15:40 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 24 Jul 2018 09:22:03 +0000 (11:22 +0200)
On removal battery_present changes from 1 to 0 after calling
acpi_battery_get_status() and battery->update_time is set to 0
before returning.

On insertion battery_present changes from 0 to 1 after calling
acpi_battery_get_status() and acpi_battery_get_info() is called
because battery->update_time is 0.

The old_present condition is therefore redundant.

This was added in the commit below when there was a path without
sysfs that would skip getting the newly inserted battery info.

commit 50b178512b7d ("Newly inserted battery might differ from one
just removed, so update of battery info fields is required.")

Signed-off-by: Lucas Rangit Magasweran <lucas.magasweran@ieee.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/battery.c

index d79ad844c78fcee1e51cfa7cde066363e45f51ef..78e40a9f5e182326202bef49b9610f620f71fcaf 100644 (file)
@@ -918,10 +918,11 @@ static void acpi_battery_quirks(struct acpi_battery *battery)
 
 static int acpi_battery_update(struct acpi_battery *battery, bool resume)
 {
-       int result, old_present = acpi_battery_present(battery);
-       result = acpi_battery_get_status(battery);
+       int result = acpi_battery_get_status(battery);
+
        if (result)
                return result;
+
        if (!acpi_battery_present(battery)) {
                sysfs_remove_battery(battery);
                battery->update_time = 0;
@@ -931,8 +932,7 @@ static int acpi_battery_update(struct acpi_battery *battery, bool resume)
        if (resume)
                return 0;
 
-       if (!battery->update_time ||
-           old_present != acpi_battery_present(battery)) {
+       if (!battery->update_time) {
                result = acpi_battery_get_info(battery);
                if (result)
                        return result;