Richard Zhao <richard.zhao@xxxxxxxxxxxxx> 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? [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? Regards, -- Alex -- 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