RE: [PATCH v2] power_supply: Added support for power supplyattribute sources

From: Pallala, Ramakrishna
Date: Fri Jul 27 2012 - 14:28:30 EST


Hi Anton,

> On Thu, Jul 26, 2012 at 08:47:24PM +0530, Ramakrishna Pallala wrote:
> > On some platforms one driver(or HW chip) may not be able to provide
> > all the necessary attributes of the power supply connected to the
> > platform or may provide very limited info which can be used by core/primary
> drivers.
> >
> > For example a temperature sensor chip placed near the battery can be
> > used to report battery ambient temperature but it does not makes sense
> > to register sensor driver with power supply class. Or even a ADC
> > driver or platform driver may report power supply properties like
> > voltage/current or charging status but registering all those driver
> > with power supply class is not a practical or ideal approach.
> >
> > This patch adds the generic support to register the drivers as power
> > supply attribute(properties) sources and adds an interface to read
> > these attributes from power supply class drivers.
> >
> > If there are multiple attribute sources of the same type then caller
> > has to do source selection by passing the source string in the query struct.
> >
> > Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx>
> > ---
> [...]
> > +extern int power_supply_attributes_register(struct device *parent,
> > + struct power_supply_attr_source *psy_attr);
>
> Can you please show some user of the new calls? If I understand correctly,
> you're going to call these from sensing (ADC, or some
> other) drivers, which would be very very wrong thing to do.

I have submitted two patches, one on smb347_charger driver and one on max17042_battery driver
to demonstrate the use of these API's.

[PATCH] smb347_charger: Add support for battery power supply attributes registration
[PATCH] max17042_battery: add support for battery STATUS and CHARGE_TYPE

Please review and let me know your comments.

Thanks,
Ram
èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—