Re: [PATCH v2 1/2] power: supply: max17042_battery: use VFSOC for capacity when no rsns

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Sep 29, 2021 at 09:43:25PM +0200, Hans de Goede wrote:
> On 9/29/21 8:14 PM, Henrik Grimler wrote:
> > On Galaxy S3 (i9300/i9305), which has the max17047 fuel gauge and no
> > current sense resistor (rsns), the RepSOC register does not provide an
> > accurate state of charge value. The reported value is wrong, and does
> > not change over time. VFSOC however, which uses the voltage fuel gauge
> > to determine the state of charge, always shows an accurate value.
> > 
> > For devices without current sense, VFSOC is already used for the
> > soc-alert (0x0003 is written to MiscCFG register), so with this change
> > the source of the alert and the PROP_CAPACITY value match.
> > 
> > Fixes: 359ab9f5b154 ("power_supply: Add MAX17042 Fuel Gauge Driver")
> > Cc: <stable@xxxxxxxxxxxxxxx>
> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> > Suggested-by: Wolfgang Wiedmeyer <wolfgit@xxxxxxxxxxxx>
> > Signed-off-by: Henrik Grimler <henrik@xxxxxxxxxx>
> > ---
> > Changes in v2:
> > Re-write commit message to highlight that VFSOC is already used for
> > alert, after Krzysztof's comments
> 
> Thanks, both patches looks good to me:
> 
> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> 
> for the series.

Thanks, both queued.

-- Sebastian

> 
> 
> Regards,
> 
> Hans
> 
> 
> > ---
> >  drivers/power/supply/max17042_battery.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
> > index 8dffae76b6a3..5809ba997093 100644
> > --- a/drivers/power/supply/max17042_battery.c
> > +++ b/drivers/power/supply/max17042_battery.c
> > @@ -313,7 +313,10 @@ 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);
> > +		if (chip->pdata->enable_current_sense)
> > +			ret = regmap_read(map, MAX17042_RepSOC, &data);
> > +		else
> > +			ret = regmap_read(map, MAX17042_VFSOC, &data);
> >  		if (ret < 0)
> >  			return ret;
> >  
> > 
> > base-commit: 5816b3e6577eaa676ceb00a848f0fd65fe2adc29
> > 
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux