[PATCH v2 02/12] usb: chipidea: permit driver bindings pass phy pointer

Richard Zhao linuxzsc at gmail.com
Tue May 22 11:14:27 EDT 2012


On Tue, May 22, 2012 at 04:07:31PM +0200, Marek Vasut wrote:
> Dear Alexander Shishkin,
> 
> > Richard Zhao <richard.zhao at freescale.com> writes:
> > 
> > Hi,
> > 
> > > Sometimes, the driver bindings may know what phy they use.
> > > For example, when using device tree, the usb controller may have a
> > > phandler pointing to usb phy.
> > 
> > Some comments below:
> > 
> > [snip]
> > 
> > >  	ci->dev = dev;
> > >  	ci->udc_driver = dev->platform_data;
> > > 
> > > +	if (ci->udc_driver->phy)
> > > +		ci->transceiver = ci->udc_driver->phy;
> > > +	else
> > > +		ci->global_phy = 1;
> > 
> > Nitpick: since it's a bool, don't you want to use "true" instead?
Yes. Thanks.
> > 
> > [snip]
> > 
> > > +#include <linux/usb/otg.h>
> > > +
> > > 
> > >  struct ci13xxx;
> > >  struct ci13xxx_udc_driver {
> > >  
> > >  	const char	*name;
> > >  	/* offset of the capability registers */
> > >  	uintptr_t	 capoffset;
> > >  	unsigned	 power_budget;
> > > 
> > > +	struct usb_phy	*phy;
> > 
> > This structure is really platform information, not per-device
> > instance. Consider, for example, situation when you have 2 controllers
> > in one system, they'll be using the same platform structure, but they'll
> > have different phys. Right?
> 
> Not really, won't you allocate separate structure for them?
Finally, we'll get phy instance from phy lib. But I don't know when it
is ready. So I add this code for handy use before phy lib.

For now, it's ok. When I register platform device, it dup the plat data
memory.

Thanks
Richard
> 
> > 
> > Regards,
> > --
> > Alex
> 
> Best regards,
> Marek Vasut
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the linux-arm-kernel mailing list