Thread (14 messages) 14 messages, 4 authors, 2013-08-01

[RESEND PATCH v10 1/8] drivers: phy: add generic PHY framework

From: Kishon Vijay Abraham I <hidden>
Date: 2013-07-29 15:31:47
Also in: linux-fbdev, linux-media, linux-omap, linux-samsung-soc, lkml

On Monday 29 July 2013 08:58 PM, Kamil Debski wrote:
Hi Kishon,

A small fix follows inline.
quoted
From: linux-media-owner at vger.kernel.org [mailto:linux-media-
owner at 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
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]
quoted
+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?
right.. thanks for spotting this.

Regards
Kishon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help