From: Christian Marangi <ansuelsmth@gmail.com>
To: Christian Marangi <ansuelsmth@gmail.com>,
Lee Jones <lee@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Vladimir Oltean <olteanv@gmail.com>,
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Maxime Chevallier <maxime.chevallier@bootlin.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, netdev@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
upstream@airoha.com
Subject: [net-next PATCH v13 08/14] net: mdio: regmap: add support for multiple valid addr
Date: Sat, 15 Mar 2025 16:43:48 +0100 [thread overview]
Message-ID: <20250315154407.26304-9-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20250315154407.26304-1-ansuelsmth@gmail.com>
Add support for multiple valid addr for mdio regmap. This can be done by
defining the new valid_addr_mask value in the mdio regmap config.
This makes use of the new implementation used by C45 to encode
additional info in the regmap address to support multiple MDIO address.
To actually use this, support_encoded_addr MUST be enabled and
(indirectly) devm_mdio_regmap_init must be used to create the regmap.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/net/mdio/mdio-regmap.c | 8 +++++++-
include/linux/mdio/mdio-regmap.h | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mdio/mdio-regmap.c b/drivers/net/mdio/mdio-regmap.c
index f263e4ae2477..ed0443eb039f 100644
--- a/drivers/net/mdio/mdio-regmap.c
+++ b/drivers/net/mdio/mdio-regmap.c
@@ -113,13 +113,19 @@ struct mii_bus *devm_mdio_regmap_register(struct device *dev,
if (!config->parent)
return ERR_PTR(-EINVAL);
+ if (config->valid_addr_mask && !config->support_encoded_addr) {
+ dev_err(dev, "encoded address support is required to support multiple MDIO address\n");
+ return ERR_PTR(-EINVAL);
+ }
+
mii = devm_mdiobus_alloc_size(config->parent, sizeof(*mr));
if (!mii)
return ERR_PTR(-ENOMEM);
mr = mii->priv;
mr->regmap = config->regmap;
- mr->valid_addr_mask = BIT(config->valid_addr);
+ mr->valid_addr_mask = config->valid_addr_mask ? config->valid_addr_mask :
+ BIT(config->valid_addr);
mr->encode_addr = config->support_encoded_addr;
mii->name = DRV_NAME;
diff --git a/include/linux/mdio/mdio-regmap.h b/include/linux/mdio/mdio-regmap.h
index 504fa2046043..bb0e7dc9c0dc 100644
--- a/include/linux/mdio/mdio-regmap.h
+++ b/include/linux/mdio/mdio-regmap.h
@@ -17,6 +17,7 @@ struct mdio_regmap_config {
struct regmap *regmap;
char name[MII_BUS_ID_SIZE];
u8 valid_addr;
+ u32 valid_addr_mask;
/* devm_mdio_regmap_init is required with this enabled */
bool support_encoded_addr;
bool autoscan;
--
2.48.1
next prev parent reply other threads:[~2025-03-15 15:44 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-15 15:43 [net-next PATCH v13 00/14] net: dsa: Add Airoha AN8855 support Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 01/14] dt-bindings: nvmem: Document support for Airoha AN8855 Switch EFUSE Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 02/14] dt-bindings: net: Document support for Airoha AN8855 Switch Virtual MDIO Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 03/14] dt-bindings: net: dsa: Document support for Airoha AN8855 DSA Switch Christian Marangi
2025-03-17 16:21 ` Rob Herring (Arm)
2025-03-15 15:43 ` [net-next PATCH v13 04/14] dt-bindings: net: Document support for AN8855 Switch Internal PHY Christian Marangi
2025-03-17 16:22 ` Rob Herring (Arm)
2025-03-15 15:43 ` [net-next PATCH v13 05/14] dt-bindings: mfd: Document support for Airoha AN8855 Switch SoC Christian Marangi
2025-03-15 17:12 ` Rob Herring (Arm)
2025-03-17 14:28 ` Rob Herring
2025-03-15 15:43 ` [net-next PATCH v13 06/14] net: mdio: regmap: prepare support for multiple valid addr Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 07/14] net: mdio: regmap: add support for C45 read/write Christian Marangi
2025-03-15 15:43 ` Christian Marangi [this message]
2025-03-15 15:43 ` [net-next PATCH v13 09/14] net: mdio: regmap: add OF support Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 10/14] mfd: an8855: Add support for Airoha AN8855 Switch MFD Christian Marangi
2025-03-21 6:12 ` kernel test robot
2025-04-04 13:01 ` Lee Jones
2025-03-15 15:43 ` [net-next PATCH v13 11/14] net: mdio: Add Airoha AN8855 Switch MDIO Passtrough Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 12/14] nvmem: an8855: Add support for Airoha AN8855 Switch EFUSE Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 13/14] net: dsa: Add Airoha AN8855 5-Port Gigabit DSA Switch driver Christian Marangi
2025-03-18 15:15 ` Vladimir Oltean
2025-04-08 9:13 ` Christian Marangi
2025-03-15 15:43 ` [net-next PATCH v13 14/14] net: phy: Add Airoha AN8855 Internal Switch Gigabit PHY Christian Marangi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250315154407.26304-9-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=matthias.bgg@gmail.com \
--cc=maxime.chevallier@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=upstream@airoha.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).