Re: [PATCH 1/1] battery: only refresh the sysfs files when pertinant information changes

From: Ralf Jung
Date: Fri May 04 2012 - 09:29:09 EST


Hi,

I applied this to 3.4-rc5, and it fixes the issue. Thanks a lot :)

> We only need to regenerate the sysfs files when the capacity units
> change, avoid the update otherwise.
>
> Signed-off-by: Andy Whitcroft <apw@xxxxxxxxxxxxx>
Tested-by: Ralf Jung <post@xxxxxxxx>
> ---
> drivers/acpi/battery.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> Based on Matthew's feedback here is a version which optimises
> based on the power_unit field as returned from the battery info.
> Could someone who suffers from this issue please test this out
> and report back. Thanks.
>
> 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);
> }

Kind regards,
Ralf Jung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/