On Fri, Jan 30, 2015 at 12:33:01PM +0200, Heikki Krogerus wrote: > On Thu, Jan 29, 2015 at 10:11:24AM -0600, Felipe Balbi wrote: > > On Thu, Jan 29, 2015 at 04:34:41PM +0200, Heikki Krogerus wrote: > > > On Wed, Jan 28, 2015 at 11:03:55PM -0600, Felipe Balbi wrote: > > > > On Fri, Jan 23, 2015 at 05:12:57PM +0200, Heikki Krogerus wrote: > > > > > ULPI PHYs need to be bound to their controllers with a > > > > > lookup. This adds helpers that the ULPI drivers can use to > > > > > do both, the registration of the PHY and the lookup, at the > > > > > same time. > > > > > > > > > > Signed-off-by: Heikki Krogerus > > > > > Cc: Kishon Vijay Abraham I > > > > > --- > > > > > drivers/phy/ulpi_phy.h | 31 +++++++++++++++++++++++++++++++ > > > > > 1 file changed, 31 insertions(+) > > > > > create mode 100644 drivers/phy/ulpi_phy.h > > > > > > > > > > diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ulpi_phy.h > > > > > new file mode 100644 > > > > > index 0000000..ac49fb6 > > > > > --- /dev/null > > > > > +++ b/drivers/phy/ulpi_phy.h > > > > > @@ -0,0 +1,31 @@ > > > > > +#include > > > > > + > > > > > +/** > > > > > + * Helper that registers PHY for a ULPI device and adds a lookup for binding it > > > > > + * and it's controller, which is always the parent. > > > > > + */ > > > > > +static inline struct phy > > > > > +*ulpi_phy_create(struct ulpi *ulpi, struct phy_ops *ops) > > > > > +{ > > > > > + struct phy *phy; > > > > > + int ret; > > > > > + > > > > > + phy = phy_create(&ulpi->dev, NULL, ops); > > > > > + if (IS_ERR(phy)) > > > > > + return phy; > > > > > + > > > > > + ret = phy_create_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent)); > > > > > > > > I wonder if this would break DT-based boot where PHY phandle is > > > > available. Kishon ? > > > > > > If there are of_node for the PHY, we will not use this binding at all. > > > > where is that taken care of ? ulpi_phy_create() is called > > unconditionally. > > When you call phy_get(). tks -- balbi