RE: [RESEND PATCH v10 1/8] drivers: phy: add generic PHY framework
flat view
From: Kamil Debski <hidden>
Date: 2013-07-29 15:29:14
Also in:
linux-arm-kernel, linux-media, linux-omap, linux-samsung-soc, lkml
Hi Kishon, A small fix follows inline.
From: linux-media-owner@vger.kernel.org [mailto:linux-media- owner@vger.kernel.org] 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 <redacted> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Kishon Vijay Abraham I <redacted> Acked-by: Felipe Balbi <redacted> Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com> --- .../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]
quoted hunk ↗ jump to hunk
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h new filemode 100644 index 0000000..e444b23--- /dev/null +++ b/include/linux/phy/phy.h@@ -0,0 +1,270 @@
[snip]
quoted hunk ↗ jump to hunk
+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?
quoted hunk ↗ jump to hunk
+ +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