[Letux-kernel] [PATCH 1/2] power: supply: Add support for RN5T618/RC5T619 charger and fuel gauge

Andreas Kemnade andreas at kemnade.info
Wed Aug 26 20:28:34 CEST 2020


On Wed, 26 Aug 2020 19:48:17 +0200
Sebastian Reichel <sebastian.reichel at collabora.com> wrote:

> Hi,
> 
> Driver looks mostly good.
> 
> On Sat, Aug 15, 2020 at 06:56:09PM +0200, Andreas Kemnade wrote:
> > [...]
> > +static int rn5t618_battery_current_now(struct rn5t618_power_info *info,
> > +				       union power_supply_propval *val)
> > +{
> > +	u16 res;
> > +	int ret;
> > +
> > +	ret = rn5t618_battery_read_doublereg(info, RN5T618_CC_AVEREG1, &res);
> > +	if (ret)
> > +		return ret;
> > +
> > +	val->intval = res;
> > +	/* 2's complement */
> > +	if (val->intval & (1 << 13))
> > +		val->intval = val->intval - (1 << 14);
> > +
> > +	/* negate current to be positive when discharging */
> > +	val->intval *= -1000;  
> 
> mh, the sign is not documented (which should be fixed). At least
> sbs-battery does it the other way around (negative current when
> discharging, positive otherwise). Some drivers do not support
> signed current and always report positive values (e.g. ACPI driver).
> 
> What did you use as reference for swapping the sign?
> 
Well, I have searched for documentation, found nothing and used the
bq27xxx driver as reference  which I am used to from the GTA04/GTA02,
so things behave equal. That are the devices where a was most
intensively looking at those values.
I thought that there would be some unwritten rule about that.

Regards,
Andreas


More information about the Letux-kernel mailing list