Re: [RFC PATCH] Revert "usb: chipidea: udc: .pullup is valid only when vbus is there"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux