ACPI battery: only refresh the sysfs files when pertinent information changes (Closes: #670958)

svn path=/dists/sid/linux-2.6/; revision=19019
This commit is contained in:
Ben Hutchings 2012-05-21 01:40:25 +00:00
parent 214e4a8ace
commit dbff313c1c
3 changed files with 53 additions and 0 deletions

2
debian/changelog vendored
View File

@ -28,6 +28,8 @@ linux-2.6 (3.2.18-1) UNRELEASED; urgency=low
* [x86] KVM: VMX: vmx_set_cr0 expects kvm->srcu locked
* [s390] KVM: do store status after handling STOP_ON_STOP bit
* [s390] KVM: Sanitize fpc registers for KVM_SET_FPU
* ACPI battery: only refresh the sysfs files when pertinent information
changes (Closes: #670958)
-- Ben Hutchings <ben@decadent.org.uk> Wed, 16 May 2012 02:19:30 +0100

View File

@ -0,0 +1,49 @@
From: Andy Whitcroft <apw@canonical.com>
Date: Thu, 3 May 2012 14:48:26 +0100
Subject: ACPI battery: only refresh the sysfs files when pertinent
information changes
commit c5971456964290da7e98222892797b71ef793e62 upstream.
We only need to regenerate the sysfs files when the capacity units
change, avoid the update otherwise.
The origin of this issue is dates way back to 2.6.38:
da8aeb92d4853f37e281f11fddf61f9c7d84c3cd
(ACPI / Battery: Update information on info notification and resume)
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Tested-by: Ralf Jung <post@ralfj.de>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/battery.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 86933ca..7dd3f9f 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -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);
}
--
1.7.10

View File

@ -229,3 +229,5 @@
# Add support for Ralink RT5392/RF5372 chipset
+ features/all/rt2x00-add-debug-message-for-new-chipset.patch
+ features/all/rt2x00-add-rt5372-chipset-support.patch
+ bugfix/all/acpi-battery-only-refresh-the-sysfs-files-when-pertinent.patch