aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/battery.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index a0a178dd189c..4fb3c12ac1d8 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -173,14 +173,17 @@ static int acpi_battery_get_property(struct power_supply *psy,
173 val->intval = battery->voltage_now * 1000; 173 val->intval = battery->voltage_now * 1000;
174 break; 174 break;
175 case POWER_SUPPLY_PROP_CURRENT_NOW: 175 case POWER_SUPPLY_PROP_CURRENT_NOW:
176 val->intval = battery->current_now * 1000; 176 val->intval = battery->current_now;
177 /* if power units are mW, convert to mA by 177 if (battery->power_unit) {
178 dividing by current voltage (mV/1000) */ 178 val->intval *= 1000;
179 if (!battery->power_unit) { 179 } else {
180 if (battery->voltage_now) { 180 /*
181 * If power units are mW, convert to mA by dividing by
182 * current voltage.
183 */
184 if (battery->voltage_now)
181 val->intval /= battery->voltage_now; 185 val->intval /= battery->voltage_now;
182 val->intval *= 1000; 186 else
183 } else
184 val->intval = -1; 187 val->intval = -1;
185 } 188 }
186 break; 189 break;