Thread (53 messages) flat view 53 messages, 4 authors, 2016-01-06
STALE3877d

[RFC PATCH net-next 23/24] mdio: mdio-nop: Dummy driver to testing

From: Andrew Lunn <andrew@lunn.ch>
Date: 2016-01-04 17:40:18
Subsystem: ethernet phy library, networking drivers, the rest · Maintainers: Andrew Lunn, Heiner Kallweit, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

Add a dummy driver which does nothing, but is useful for testing
the mdio device framework.
---
 drivers/net/phy/Kconfig    |  8 ++++++++
 drivers/net/phy/Makefile   |  1 +
 drivers/net/phy/mdio-nop.c | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 46 insertions(+)
 create mode 100644 drivers/net/phy/mdio-nop.c
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 60994a83a0d6..107613354b14 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -256,6 +256,14 @@ config MDIO_BCM_IPROC
 	  This module provides a driver for the MDIO busses found in the
 	  Broadcom iProc SoC's.
 
+comment "MDIO devices"
+
+config MDIO_NOP
+       tristate "linux MDIO NOP driver"
+       help
+         MDIO driver which does nothing, other than test the MDIO framework.
+	 Say No, unless you are testing the framework.
+
 endif # PHYLIB
 
 config MICREL_KS8995MA
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 680e88f9915a..258542178c98 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -42,3 +42,4 @@ obj-$(CONFIG_MDIO_MOXART)	+= mdio-moxart.o
 obj-$(CONFIG_MDIO_BCM_UNIMAC)	+= mdio-bcm-unimac.o
 obj-$(CONFIG_MICROCHIP_PHY)	+= microchip.o
 obj-$(CONFIG_MDIO_BCM_IPROC)	+= mdio-bcm-iproc.o
+obj-$(CONFIG_MDIO_NOP)		+= mdio-nop.o
diff --git a/drivers/net/phy/mdio-nop.c b/drivers/net/phy/mdio-nop.c
new file mode 100644
index 000000000000..c2ff06c58a5c
--- /dev/null
+++ b/drivers/net/phy/mdio-nop.c
@@ -0,0 +1,37 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/mdio.h>
+
+static int mdio_nop_probe(struct mdio_device *mdiodev)
+{
+	dev_info(&mdiodev->dev, "mdio_nop_probe for address %d\n",
+		 mdiodev->addr);
+
+	return 0;
+}
+
+static void mdio_nop_remove(struct mdio_device *mdiodev)
+{
+	dev_info(&mdiodev->dev, "mdio_nop_remove for address %d\n",
+		 mdiodev->addr);
+}
+
+static const struct of_device_id mdio_nop_ids[] = {
+	{ .compatible = "linux,mdio-nop" },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, mdio_nop_ids);
+
+struct mdio_driver mdio_nop_drv = {
+	.probe = mdio_nop_probe,
+	.remove = mdio_nop_remove,
+	.mdiodrv = {
+		.driver	= {
+			.name = "mdio-nop",
+			.of_match_table = mdio_nop_ids,
+		},
+	},
+};
+
+mdio_module_driver(mdio_nop_drv);
-- 
2.6.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help