From 51a4eec248621c53b74ef97ccb36e447f20795b7 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 7 Jun 2012 06:49:50 +0900 Subject: [PATCH] 3.0-stable patches added patches: acpi-battery-only-refresh-the-sysfs-files-when-pertinent-information-changes.patch --- ...s-when-pertinent-information-changes.patch | 48 +++++++++++++++++++ queue-3.0/series | 1 + 2 files changed, 49 insertions(+) create mode 100644 queue-3.0/acpi-battery-only-refresh-the-sysfs-files-when-pertinent-information-changes.patch diff --git a/queue-3.0/acpi-battery-only-refresh-the-sysfs-files-when-pertinent-information-changes.patch b/queue-3.0/acpi-battery-only-refresh-the-sysfs-files-when-pertinent-information-changes.patch new file mode 100644 index 00000000000..0bea635617a --- /dev/null +++ b/queue-3.0/acpi-battery-only-refresh-the-sysfs-files-when-pertinent-information-changes.patch @@ -0,0 +1,48 @@ +From c5971456964290da7e98222892797b71ef793e62 Mon Sep 17 00:00:00 2001 +From: Andy Whitcroft +Date: Thu, 3 May 2012 14:48:26 +0100 +Subject: ACPI battery: only refresh the sysfs files when pertinent information changes + +From: Andy Whitcroft + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/acpi/battery.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +--- a/drivers/acpi/battery.c ++++ b/drivers/acpi/battery.c +@@ -635,11 +635,19 @@ static int acpi_battery_update(struct ac + + 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); + } diff --git a/queue-3.0/series b/queue-3.0/series index d13c4cb62bc..82e8e9cd5fe 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -43,3 +43,4 @@ ext4-don-t-trash-state-flags-in-ext4_ioc_setflags.patch ext4-add-ext4_mb_unload_buddy-in-the-error-path.patch ext4-remove-mb_groups-before-tearing-down-the-buddy_cache.patch drm-radeon-kms-add-new-btc-pci-ids.patch +acpi-battery-only-refresh-the-sysfs-files-when-pertinent-information-changes.patch -- 2.47.3