Skip to contentSkip to conversation

Subject: [PATCH] ACPI: Battery: Update info for inserted battery

PATCH Applied Alexey Starikovskiy 2 participants 2 messages Dec 22, 2008 – Dec 23, 2008 1 message not in the archive ACPI

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

PATCH 1/1 Subject: [PATCH] ACPI: Battery: Update info for inserted battery

Newly inserted battery might differ from one just removed, so update of battery info fields is required.

Signed-off-by Alexey Starikovskiy <astarikovskiy <at> suse.de>

---

 drivers/acpi/battery.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/acpi/battery.c +3 -2
index 1423b0c..65132f9 100644
@@ -471,7 +471,7 @@ static void sysfs_remove_battery(struct acpi_battery *battery)
 
 static int acpi_battery_update(struct acpi_battery *battery)
 {
-	int result;
+	int result, old_present = acpi_battery_present(battery);
 	result = acpi_battery_get_status(battery);
 	if (result)
 		return result;
@@ -482,7 +482,8 @@ static int acpi_battery_update(struct acpi_battery *battery)
 		return 0;
 	}
 #endif
-	if (!battery->update_time) {
+	if (!battery->update_time ||
+	    old_present != acpi_battery_present(battery)) {
 		result = acpi_battery_get_info(battery);
 		if (result)
 			return result;
reviewer Applied
#2 lore raw

Applied

-- Len Brown, Intel Open Source Technology Center

Quoted 37 lines · Alexey Starikovskiy

Newly inserted battery might differ from one just removed, so update of battery info fields is required.

Signed-off-by Alexey Starikovskiy <astarikovskiy <at> suse.de>

---

 drivers/acpi/battery.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/acpi/battery.c +3 -2
index 1423b0c..65132f9 100644
@@ -471,7 +471,7 @@ static void sysfs_remove_battery(struct acpi_battery *battery)
 
 static int acpi_battery_update(struct acpi_battery *battery)
 {
-	int result;
+	int result, old_present = acpi_battery_present(battery);
 	result = acpi_battery_get_status(battery);
 	if (result)
 		return result;
@@ -482,7 +482,8 @@ static int acpi_battery_update(struct acpi_battery *battery)
 		return 0;
 	}
 #endif
-	if (!battery->update_time) {
+	if (!battery->update_time ||
+	    old_present != acpi_battery_present(battery)) {
 		result = acpi_battery_get_info(battery);
 		if (result)
 			return result;