On Tue, Dec 20, 2011 at 03:25:56PM +0200, Heikki Krogerus wrote: > On Tue, Dec 13, 2011 at 01:21:17PM +0200, Felipe Balbi wrote: > > > Why there needs struct usb_otg at struct usb_phy? > > > From my point, at general otg driver, it doesn't need to touch phy. > > > The phy are only needed to operated at vendor's otg driver. > > > So, I don't know why below is not ok: > > > > > > > struct twl6030_usb { > > > > > > > + struct usb_phy phy; > > > > > > > + struct usb_otg otg; > > > > > > struct usb_otg { > > > unsigned otg_specific; > > > > > > > > > > struct otg_phy { > > > unsigned phy_specific; > > > } > > > > > > Besides, for some SoCs, there is no otg driver at mainline until now, but > > > they need to get usb_phy. > > > > the thing is that OTG adds a few extra bits and pieces to the PHY. For > > example we have extra states on the USB state machine, we have a few > > analog comparators (for VBUS and ID pin) and so on. So, when we _do_ > > have OTG, some of it is handled by the PHY. > > One more question before I make the v9. If you have two PHYs but only > one of the is OTG, how do you make sure the other PHY driver can not > take advantage of OTG utility? We have been thinking about adding a phy_type kinda thing, or maybe a "features" flag ?!? -- balbi
Attachment:
signature.asc
Description: Digital signature