diff options
author | Kyle McMartin <kyle@redhat.com> | 2011-01-15 00:56:55 -0500 |
---|---|---|
committer | Kyle McMartin <kyle@redhat.com> | 2011-01-15 00:56:55 -0500 |
commit | ee6c061eb9517d21067cab44eeadec08b91cbd7a (patch) | |
tree | 02af23e3a8c2dce8ce040aae37256cd68670073a /acpi-update-battery-information-on-notification-0x81.patch | |
parent | 685274a50860d0697240cf300ad417163be649cc (diff) | |
download | kernel-ee6c061eb9517d21067cab44eeadec08b91cbd7a.tar.gz kernel-ee6c061eb9517d21067cab44eeadec08b91cbd7a.tar.xz kernel-ee6c061eb9517d21067cab44eeadec08b91cbd7a.zip |
snapshot 2.6.37-git12
Diffstat (limited to 'acpi-update-battery-information-on-notification-0x81.patch')
-rw-r--r-- | acpi-update-battery-information-on-notification-0x81.patch | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/acpi-update-battery-information-on-notification-0x81.patch b/acpi-update-battery-information-on-notification-0x81.patch deleted file mode 100644 index 7f2c645fc..000000000 --- a/acpi-update-battery-information-on-notification-0x81.patch +++ /dev/null @@ -1,94 +0,0 @@ -From kyle@infradead.org Wed Sep 22 18:35:38 2010 -From: Matthew Garrett <mjg@redhat.com> -To: linux-acpi@vger.kernel.org -Cc: linux-kernel@vger.kernel.org, Matthew Garrett <mjg@redhat.com> -Subject: [PATCH] acpi: Update battery information on notification 0x81 -Date: Mon, 16 Aug 2010 16:32:19 -0400 - -A notification event 0x81 from an ACPI battery device requires us to -re-read the battery information structure. Do so, and if the battery's -reporting units have changed (as is the case on some Thinkpads) destroy -and recreate the battery in order to populate the fields correctly. - -Signed-off-by: Matthew Garrett <mjg@redhat.com> ---- - - drivers/acpi/battery.c | 21 ++++++++++++++++----- - 1 files changed, 16 insertions(+), 5 deletions(-) - -diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c -index 95649d3..161e43a 100644 ---- a/drivers/acpi/battery.c -+++ b/drivers/acpi/battery.c -@@ -152,6 +152,7 @@ static int acpi_battery_technology(struct acpi_battery *battery) - return POWER_SUPPLY_TECHNOLOGY_UNKNOWN; - } - -+static int acpi_battery_update(struct acpi_battery *battery, bool get_info); - static int acpi_battery_get_state(struct acpi_battery *battery); - - static int acpi_battery_is_charged(struct acpi_battery *battery) -@@ -605,9 +606,11 @@ static void acpi_battery_quirks2(struct acpi_battery *battery) - } - } - --static int acpi_battery_update(struct acpi_battery *battery) -+static int acpi_battery_update(struct acpi_battery *battery, bool get_info) - { - int result, old_present = acpi_battery_present(battery); -+ int old_power_unit = battery->power_unit; -+ - result = acpi_battery_get_status(battery); - if (result) - return result; -@@ -626,6 +629,14 @@ static int acpi_battery_update(struct acpi_battery *battery) - } - if (!battery->bat.dev) - sysfs_add_battery(battery); -+ if (get_info) { -+ acpi_battery_get_info(battery); -+ if (old_power_unit != battery->power_unit) { -+ /* The battery has changed its reporting units */ -+ sysfs_remove_battery(battery); -+ sysfs_add_battery(battery); -+ } -+ } - result = acpi_battery_get_state(battery); - acpi_battery_quirks2(battery); - return result; -@@ -803,7 +814,7 @@ static print_func acpi_print_funcs[ACPI_BATTERY_NUMFILES] = { - static int acpi_battery_read(int fid, struct seq_file *seq) - { - struct acpi_battery *battery = seq->private; -- int result = acpi_battery_update(battery); -+ int result = acpi_battery_update(battery, false); - return acpi_print_funcs[fid](seq, result); - } - -@@ -914,7 +925,7 @@ static void acpi_battery_notify(struct acpi_device *device, u32 event) - if (!battery) - return; - old = battery->bat.dev; -- acpi_battery_update(battery); -+ acpi_battery_update(battery, (event == ACPI_BATTERY_NOTIFY_INFO)); - acpi_bus_generate_proc_event(device, event, - acpi_battery_present(battery)); - acpi_bus_generate_netlink_event(device->pnp.device_class, -@@ -943,7 +954,7 @@ static int acpi_battery_add(struct acpi_device *device) - if (ACPI_SUCCESS(acpi_get_handle(battery->device->handle, - "_BIX", &handle))) - set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags); -- acpi_battery_update(battery); -+ acpi_battery_update(battery, false); - #ifdef CONFIG_ACPI_PROCFS_POWER - result = acpi_battery_add_fs(device); - #endif -@@ -984,7 +995,7 @@ static int acpi_battery_resume(struct acpi_device *device) - return -EINVAL; - battery = acpi_driver_data(device); - battery->update_time = 0; -- acpi_battery_update(battery); -+ acpi_battery_update(battery, true); - return 0; - } - |