max17042_battery: Fix CHARGE_FULL representation.

CHARGE_FULL should represent the full capacity of the battery in uAh.
The 0x10 (FullCAP) register shows the compensated full capacity in
mAh * 2; e.g., reg(0x10) = 0xBB8 means that it is 1500mAh.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
This commit is contained in:
MyungJoo Ham 2012-03-14 03:00:01 +01:00 committed by Anton Vorontsov
parent 3124c4a080
commit 6e0e60cd0d

View File

@ -179,14 +179,11 @@ static int max17042_get_property(struct power_supply *psy,
val->intval = ret >> 8; val->intval = ret >> 8;
break; break;
case POWER_SUPPLY_PROP_CHARGE_FULL: case POWER_SUPPLY_PROP_CHARGE_FULL:
ret = max17042_read_reg(chip->client, MAX17042_RepSOC); ret = max17042_read_reg(chip->client, MAX17042_FullCAP);
if (ret < 0) if (ret < 0)
return ret; return ret;
if ((ret >> 8) >= MAX17042_BATTERY_FULL) val->intval = ret * 1000 / 2;
val->intval = 1;
else if (ret >= 0)
val->intval = 0;
break; break;
case POWER_SUPPLY_PROP_TEMP: case POWER_SUPPLY_PROP_TEMP:
ret = max17042_read_reg(chip->client, MAX17042_TEMP); ret = max17042_read_reg(chip->client, MAX17042_TEMP);