From 1287ea6219ef4ebc461214e67d6b98ee99023b3e Mon Sep 17 00:00:00 2001 From: Wolfgang Wiedmeyer Date: Sun, 25 Sep 2016 20:06:40 +0200 Subject: [PATCH] power: supply: max17042_battery: use VF SOC register for capacity property The capacity property uses the RepSOC register to report the current state of charge. This register did not provide a reliable SOC value during my testing with the max17047 variant on a Galaxy S3 (Trats2/GT-I9300). The reported value did not change or even stayed 0 in some cases. However, the VF SOC register provided an accurate SOC value at all times. It uses the voltage fuel gauge to determine the SOC. Signed-off-by: Wolfgang Wiedmeyer --- drivers/power/supply/max17042_battery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c index 2e9672fe4df1f..87d90eaeed0cd 100644 --- a/drivers/power/supply/max17042_battery.c +++ b/drivers/power/supply/max17042_battery.c @@ -316,7 +316,7 @@ static int max17042_get_property(struct power_supply *psy, val->intval = data * 625 / 8; break; case POWER_SUPPLY_PROP_CAPACITY: - ret = regmap_read(map, MAX17042_RepSOC, &data); + ret = regmap_read(map, MAX17042_VFSOC, &data); if (ret < 0) return ret;