Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 558073dd authored by Alexey Starikovskiy's avatar Alexey Starikovskiy Committed by Len Brown
Browse files

ACPI: battery: Convert discharge energy rate to current properly



ACPI battery interface reports its state either in mW or in mA, and
discharge rate in your case is reported in mW. power_supply interface
does not have such a parameter, so current_now parameter is used
for all cases. But in case of mW, reported discharge should
be converted into mA.

Signed-off-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
Tested-by: default avatarFerenc Wagner <wferi@niif.hu>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 7b4d4692
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -174,6 +174,15 @@ static int acpi_battery_get_property(struct power_supply *psy,
		break;
	case POWER_SUPPLY_PROP_CURRENT_NOW:
		val->intval = battery->current_now * 1000;
		/* if power units are mW, convert to mA by
		   dividing by current voltage (mV/1000) */
		if (!battery->power_unit) {
			if (battery->voltage_now) {
				val->intval /= battery->voltage_now;
				val->intval *= 1000;
			} else
				val->intval = -1;
		}
		break;
	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
	case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN: