RE: Adding USB charge current property in the Linux Battery core

From: Ashish Jangam
Date: Wed Nov 09 2011 - 07:30:30 EST


> -----Original Message-----
> From: Felipe Balbi [mailto:balbi@xxxxxx]
> Sent: Wednesday, November 09, 2011 5:50 PM
> To: Ashish Jangam
> Cc: balbi@xxxxxx; linaro-dev@xxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; arnd@xxxxxxxx; eric.miao@xxxxxxxxxx; Mark Brown;
> david-b@xxxxxxxxxxx
> Subject: Re: Adding USB charge current property in the Linux Battery core
>
> On Wed, Nov 09, 2011 at 12:13:14PM +0000, Ashish Jangam wrote:
> >
> > > -----Original Message-----
> > > From: Felipe Balbi [mailto:balbi@xxxxxx]
> > > Sent: Wednesday, November 09, 2011 1:50 PM
> > > To: Ashish Jangam
> > > Cc: linaro-dev@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > > arnd@xxxxxxxx; eric.miao@xxxxxxxxxx; Mark Brown
> > > Subject: Re: Adding USB charge current property in the Linux Battery
> core
> > >
> > > Hi,
> > >
> > > On Wed, Nov 09, 2011 at 01:43:37PM +0530, ashishj3 wrote:
> > > > For a better performance in USB charging operation, the DA9052/53
> > > charging
> > > > current can be configured in accordance with the USB host current
> > > > delivering capacity (known through USB drivers negotiation).
> > > >
> > > > To implement this useful feature, a new writable property "USB charge
> > > current"
> > > > needs to be added in the Linux battery core.
> > > >
> > > > Let me know your views on it.
> > >
> > > that's the wrong way to do it. What we need is to use the transceiver
> > > notifications to notify every time someone calls usb_gadget_vbus_draw()
> > > and pass the mA parameter as argument to the event notification.
> > >
> >
> > This means that we need to modify the function usb_gadget_vbus_draw()
> > to add a call like blocking_notifier_call_chain() but will this be fine
> with
> > the usb gadget driver maintainers?
>
> I am the USB gadget driver maintainer and I have plans to do that
> myself. First thing we need to do is convert the final UDC drivers to
> the udc Class which I wrote and Sebastian helped brushing it up, then we
> uninline the usb_gadget_* wrappers and move them to
> drivers/usb/gadget/udc-core.c, then we can move the transceiver notifier
> to the UDC as it makes more sense, and convert blocking into atomic
> notifier.

This sounds good but since most PMICs have I2C bus connectivity using atomic
notifier can introduce problems.
>
> After that we can add notifications to all gadget events/API/etc...
>
> --
> balbi


N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i