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 Wed, 13 Aug 2014, Paul Zimmerman wrote:

> This thread seems to have wandered pretty far off-topic. I just wanted
> to make the point that if you create another API function for this
> issue, please be aware that not all controllers/phys will need it or
> be able to support it. In fact, I think this issue is specific to the
> chipidea core, so maybe it just needs a quirk or something?

I don't think any special treatment will be needed.  If a 
controller/PHY combination is unable to detect Vbus changes in software 
then it simply won't invoke the callback.  Things will still work 
correctly provided the hardware disables the pullup whenever Vbus is 
off.  All the UDC driver will need to do is invoke the gadget driver's 
connect callback once at the start, and it must be doing that already.

Peter simply has to do is fix up composite.c and udc-core.c.  
udc_bind_to_driver() shouldn't call usb_gadget_connect() automatically,
and composite_driver_template needs to have a .connect callback.  Then
composite.c can enable or disable the pullup at appropriate times,
based on function activations and the current connection status.

(I'm not sure how well this will work with the soft_connect sysfs 
attribute in udc-core, though.  And that attribute doesn't seem to be 
mentioned anywhere under Documentation/ABI.)

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