On Mon, 11 Aug 2014, Felipe Balbi wrote:

> On Mon, Aug 11, 2014 at 09:44:05AM -0400, Alan Stern wrote:
> > On Mon, 11 Aug 2014, Felipe Balbi wrote:
> > 
> > > > > I don't know what exactly problem you met, but current pullup dp 
> > > > > during loading
> > > > > gadget driver behavior is not suitable for webcam and android use 
> > > > > case even vbus
> > > > > is there.
> > > > 
> > > > Why not?  What's wrong with it?
> > > 
> > > g_uvc needs a userspace counterpart. If we connect to the host before
> > > userspace is ready, we might connect as a non-usable function.
> > 
> > Okay, but can't that be fixed in g_uvc?  Have it disable the pullup 
> > until the userspace component is ready, then enable the pullup.
> 
> that might be too late, although propbably not catastrophic.

It looks like the UDC core needs to be improved a little.  Right now, 
udc_bind_to_driver() unconditionally calls usb_gadget_connect(), 
thereby overriding any calls the gadget driver may have made during its 
bind callback.

What we should do instead is call usb_gadget_connect() only if the 
gadget driver didn't try to change the pullup setting.

> > I'm not sure how this could be made to work in a composite gadget,
> > though.  What if there were two uvc functions?  The pullup would have
> 
> you can refcount the disables, right ?

Not according to the kerneldoc in gadget.h.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to