Hi Kishon, A small fix follows inline. > From: linux-media-owner@xxxxxxxxxxxxxxx [mailto:linux-media- > owner@xxxxxxxxxxxxxxx] On Behalf Of Kishon Vijay Abraham I > Sent: Friday, July 26, 2013 2:49 PM > > The PHY framework provides a set of APIs for the PHY drivers to > create/destroy a PHY and APIs for the PHY users to obtain a reference > to the PHY with or without using phandle. For dt-boot, the PHY drivers > should also register *PHY provider* with the framework. > > PHY drivers should create the PHY by passing id and ops like init, exit, > power_on and power_off. This framework is also pm runtime enabled. > > The documentation for the generic PHY framework is added in > Documentation/phy.txt and the documentation for dt binding can be found > at Documentation/devicetree/bindings/phy/phy-bindings.txt > > Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> > Acked-by: Felipe Balbi <balbi@xxxxxx> > Tested-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> > --- > .../devicetree/bindings/phy/phy-bindings.txt | 66 ++ > Documentation/phy.txt | 166 +++++ > MAINTAINERS | 8 + > drivers/Kconfig | 2 + > drivers/Makefile | 2 + > drivers/phy/Kconfig | 18 + > drivers/phy/Makefile | 5 + > drivers/phy/phy-core.c | 714 > ++++++++++++++++++++ > include/linux/phy/phy.h | 270 ++++++++ > 9 files changed, 1251 insertions(+) > create mode 100644 Documentation/devicetree/bindings/phy/phy- > bindings.txt > create mode 100644 Documentation/phy.txt create mode 100644 > drivers/phy/Kconfig create mode 100644 drivers/phy/Makefile create > mode 100644 drivers/phy/phy-core.c create mode 100644 > include/linux/phy/phy.h > [snip] > diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h new file > mode 100644 index 0000000..e444b23 > --- /dev/null > +++ b/include/linux/phy/phy.h > @@ -0,0 +1,270 @@ [snip] > +struct phy_init_data { > + unsigned int num_consumers; > + struct phy_consumer *consumers; > +}; > + > +#define PHY_CONSUMER(_dev_name, _port) \ > +{ \ > + .dev_name = _dev_name, \ > + .port = _port, \ > +} > + > +#define to_phy(dev) (container_of((dev), struct phy, dev)) > + > +#define of_phy_provider_register(dev, xlate) \ > + __of_phy_provider_register((dev), THIS_MODULE, (xlate)) > + > +#define devm_of_phy_provider_register(dev, xlate) \ > + __of_phy_provider_register((dev), THIS_MODULE, (xlate)) I think this should be: + __devm_of_phy_provider_register((dev), THIS_MODULE, (xlate)) Right? > + > +static inline void phy_set_drvdata(struct phy *phy, void *data) { > + dev_set_drvdata(&phy->dev, data); > +} > + > +static inline void *phy_get_drvdata(struct phy *phy) { > + return dev_get_drvdata(&phy->dev); > +} > + [snip] Best wishes, -- Kamil Debski Linux Kernel Developer Samsung R&D Institute Poland -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html