Thread (14 messages) 14 messages, 4 authors, 2023-05-26

Re: [PATCH net-next v3 1/4] net: mdio: Introduce a regmap-based mdio driver

From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2023-05-26 16:59:58
Also in: linux-arm-kernel, lkml

Hello Vlad,

On Fri, 26 May 2023 13:21:39 +0300
Vladimir Oltean [off-list ref] wrote:
quoted
 M:	William Breathitt Gray [off-list ref]
 L:	linux-iio@vger.kernel.org
diff --git a/drivers/net/ethernet/altera/Kconfig
b/drivers/net/ethernet/altera/Kconfig index
dd7fd41ccde5..0a7c0a217536 100644 ---
a/drivers/net/ethernet/altera/Kconfig +++
b/drivers/net/ethernet/altera/Kconfig @@ -5,6 +5,8 @@ config
ALTERA_TSE select PHYLIB
 	select PHYLINK
 	select PCS_ALTERA_TSE
+	select MDIO_REGMAP
+	depends on REGMAP  
I don't think this bit belongs in this patch.
Also: depends on REGMAP or select REGMAP?
Ugh sorry about that... I'll address both the dependency and the wrong
patch splitting in next revision.
quoted
 	help
 	  This driver supports the Altera Triple-Speed (TSE)
Ethernet MAC. 
diff --git a/drivers/net/mdio/Kconfig b/drivers/net/mdio/Kconfig
index 9ff2e6f22f3f..aef39c89cf44 100644
--- a/drivers/net/mdio/Kconfig
+++ b/drivers/net/mdio/Kconfig
@@ -185,6 +185,16 @@ config MDIO_IPQ8064
 	  This driver supports the MDIO interface found in the
network interface units of the IPQ8064 SoC
 
+config MDIO_REGMAP
+	tristate
+	help
+	  This driver allows using MDIO devices that are not
sitting on a
+	  regular MDIO bus, but still exposes the standard 802.3
register
+	  layout. It's regmap-based so that it can be used on
integrated,
+	  memory-mapped PHYs, SPI PHYs and so on. A new virtual
MDIO bus is
+	  created, and its read/write operations are mapped to the
underlying
+	  regmap.  
It would probably be helpful to state that those who select this
option should also explicitly select REGMAP.
You're right, I'll update this
quoted
+
 config MDIO_THUNDER
 	tristate "ThunderX SOCs MDIO buses"
 	depends on 64BIT
diff --git a/drivers/net/mdio/Makefile b/drivers/net/mdio/Makefile
index 7d4cb4c11e4e..1015f0db4531 100644
--- a/drivers/net/mdio/Makefile
+++ b/drivers/net/mdio/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MDIO_MOXART)		+=
mdio-moxart.o obj-$(CONFIG_MDIO_MSCC_MIIM)		+=
mdio-mscc-miim.o obj-$(CONFIG_MDIO_MVUSB)		+=
mdio-mvusb.o obj-$(CONFIG_MDIO_OCTEON)		+=
mdio-octeon.o +obj-$(CONFIG_MDIO_REGMAP)		+=
mdio-regmap.o obj-$(CONFIG_MDIO_SUN4I)		+=
mdio-sun4i.o obj-$(CONFIG_MDIO_THUNDER)		+=
mdio-thunder.o obj-$(CONFIG_MDIO_XGENE)		+=
mdio-xgene.o diff --git a/include/linux/mdio/mdio-regmap.h
b/include/linux/mdio/mdio-regmap.h new file mode 100644
index 000000000000..b8508f152552
--- /dev/null
+++ b/include/linux/mdio/mdio-regmap.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Driver for MMIO-Mapped MDIO devices. Some IPs expose internal
PHYs or PCS
+ * within the MMIO-mapped area
+ *
+ * Copyright (C) 2023 Maxime Chevallier
[off-list ref]
+ */
+#ifndef MDIO_REGMAP_H
+#define MDIO_REGMAP_H
+
+struct device;
+struct regmap;
+
+struct mdio_regmap_config {
+	struct device *parent;
+	struct regmap *regmap;
+	char name[MII_BUS_ID_SIZE];  
don't we need a header included for the MII_BUS_ID_SIZE macro?
An empty C file which includes just <linux/mdio/mdio-regmap.h> must
build without errors.
You're correct, I'll include the proper header.

Thanks,

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