Re: [PATCH v4 2/4] power: supply: core: add input voltage/current measurements

From: Michał Mirosław
Date: Sat May 02 2020 - 19:12:03 EST


On Sun, May 03, 2020 at 12:45:26AM +0200, Michał Mirosław wrote:
> On Sun, May 03, 2020 at 12:23:49AM +0200, Sebastian Reichel wrote:
> > On Fri, May 01, 2020 at 05:11:18PM +0200, Michał Mirosław wrote:
[...]
> > > --- a/include/linux/power_supply.h
> > > +++ b/include/linux/power_supply.h
> > > @@ -127,7 +127,9 @@ enum power_supply_property {
> > > POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX,
> > > POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD, /* in percents! */
> > > POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD, /* in percents! */
> > > + POWER_SUPPLY_PROP_INPUT_CURRENT_NOW,
> >
> > What: /sys/class/power_supply/<supply_name>/current_avg
> > Date: May 2007
> > Contact: linux-pm@xxxxxxxxxxxxxxx
> > Description:
> > Reports an average IBUS current reading over a fixed period.
> > Normally devices will provide a fixed interval in which they
> > average readings to smooth out the reported value.
> >
> > Access: Read
> > Valid values: Represented in microamps
> >
>
> There are two entries for /sys/class/power_supply/<supply_name>/current_avg
> in the file, the other one mentions IBAT instead. "voltage_now" has the
> same problem.
[...]

So the general idea of the sysfs API seems to require separate devices for the
input (charger) and battery elements. Since what I'm looking at is an
integrated battery controller (bq25896) which has three connections: an USB
power (VBUS), a battery and the system load, but it creates only a single
power-class device. This is complicated by the fact that this is an OTG device
and so it can sink or source VBUS power.

Best Regards,
Michał Mirosław