From: Lan Tianyu Date: Fri, 1 Jul 2011 08:03:39 +0000 (+0800) Subject: ACPI / SBS: Correct the value of power_now and power_avg in the sysfs X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e4108292cc5b5ca07abc83af31a78338362810ca;p=openwrt%2Fstaging%2Fblogic.git ACPI / SBS: Correct the value of power_now and power_avg in the sysfs https://bugzilla.kernel.org/show_bug.cgi?id=24492 Signed-off-by: Lan Tianyu Signed-off-by: Len Brown --- diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c index 01dad1bedd17..c517ec8106e9 100644 --- a/drivers/acpi/sbs.c +++ b/drivers/acpi/sbs.c @@ -230,11 +230,17 @@ static int acpi_sbs_battery_get_property(struct power_supply *psy, case POWER_SUPPLY_PROP_POWER_NOW: val->intval = abs(battery->rate_now) * acpi_battery_ipscale(battery) * 1000; + val->intval *= (acpi_battery_mode(battery)) ? + (battery->voltage_now * + acpi_battery_vscale(battery) / 1000) : 1; break; case POWER_SUPPLY_PROP_CURRENT_AVG: case POWER_SUPPLY_PROP_POWER_AVG: val->intval = abs(battery->rate_avg) * acpi_battery_ipscale(battery) * 1000; + val->intval *= (acpi_battery_mode(battery)) ? + (battery->voltage_now * + acpi_battery_vscale(battery) / 1000) : 1; break; case POWER_SUPPLY_PROP_CAPACITY: val->intval = battery->state_of_charge;