Hi, On Wed, 26 Aug 2020 23:59:50 +0200 Sebastian Reichel <sebastian.reic...@collabora.com> wrote:
> Hi, > > On Wed, Aug 26, 2020 at 08:28:34PM +0200, Andreas Kemnade wrote: > > On Wed, 26 Aug 2020 19:48:17 +0200 > > Sebastian Reichel <sebastian.reic...@collabora.com> wrote: > > > 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); > > Btw. I think sign_extend32() can be used here? > > > > > + /* 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. > > The mess is mostly due to lacking reviewing from my side > (and possibly my predecessors). I just went through a dozen of > drivers and it looks like most either do not support signed current > (and use negative values as error code :() or use negative current > for discharge. I could not find any other driver using negative > numbers for charging. I think it's best to negative = discharge as > official correct value and will send an update patch for the > documentation later. > ok, I will remove that sign-change and keep/update the comment so that you know that the driver does it the official way and send a v2 with the other things you mentioned. Regards, Andreas
pgp5ljy2PRtrW.pgp
Description: OpenPGP digital signature