From dbff313c1ccabda39ef0e726fbab9177d8df41ee Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 21 May 2012 01:40:25 +0000 Subject: [PATCH] ACPI battery: only refresh the sysfs files when pertinent information changes (Closes: #670958) svn path=/dists/sid/linux-2.6/; revision=19019 --- debian/changelog | 2 + ...fresh-the-sysfs-files-when-pertinent.patch | 49 +++++++++++++++++++ debian/patches/series/base | 2 + 3 files changed, 53 insertions(+) create mode 100644 debian/patches/bugfix/all/acpi-battery-only-refresh-the-sysfs-files-when-pertinent.patch diff --git a/debian/changelog b/debian/changelog index 5d0e252c6..a0940ef06 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Wed, 16 May 2012 02:19:30 +0100 diff --git a/debian/patches/bugfix/all/acpi-battery-only-refresh-the-sysfs-files-when-pertinent.patch b/debian/patches/bugfix/all/acpi-battery-only-refresh-the-sysfs-files-when-pertinent.patch new file mode 100644 index 000000000..90659142b --- /dev/null +++ b/debian/patches/bugfix/all/acpi-battery-only-refresh-the-sysfs-files-when-pertinent.patch @@ -0,0 +1,49 @@ +From: Andy Whitcroft +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 +Tested-by: Ralf Jung +Signed-off-by: Len Brown +--- + 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 + diff --git a/debian/patches/series/base b/debian/patches/series/base index 195e58890..756ba4354 100644 --- a/debian/patches/series/base +++ b/debian/patches/series/base @@ -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