From: Daniel Golle <daniel@makrotopia.org>
To: Markus Stockhausen <markus.stockhausen@gmx.de>
Cc: andrew@lunn.ch, hkallweit1@gmail.com, linux@armlinux.org.uk,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, netdev@vger.kernel.org,
chris.packham@alliedtelesis.co.nz
Subject: Re: [PATCH 3/9] net: mdio: realtek-rtl9300: Add ports to info structure
Date: Tue, 19 May 2026 18:27:55 +0100 [thread overview]
Message-ID: <agydm8V25M-jy5o6@makrotopia.org> (raw)
In-Reply-To: <20260519165747.1288903-4-markus.stockhausen@gmx.de>
On Tue, May 19, 2026 at 06:57:41PM +0200, Markus Stockhausen wrote:
> Each Realtek SOC series has different number of MDIO ports.
I don't think the term "MDIO ports" describes it well.
I'd say "switch ports", also because RTL9300_NUM_PORTS includes ports
used for SFP+ cages which aren't going to be (directly) associated
with any MDIO-connected PHY at all.
> Make this configurable by adding a property to the info
> structure. Switch the existing usage of MAX_PORTS to this
> new property where needed.
>
> Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
> ---
> drivers/net/mdio/mdio-realtek-rtl9300.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/mdio/mdio-realtek-rtl9300.c b/drivers/net/mdio/mdio-realtek-rtl9300.c
> index 140e6ac51e2b..4533c2f68cab 100644
> --- a/drivers/net/mdio/mdio-realtek-rtl9300.c
> +++ b/drivers/net/mdio/mdio-realtek-rtl9300.c
> @@ -49,9 +49,11 @@
> #define MAX_SMI_ADDR 0x1f
>
> #define RTL9300_NUM_BUSES 4
> +#define RTL9300_NUM_PORTS 28
>
> struct rtl_mdio_info {
> u8 num_buses;
> + u8 num_ports;
> };
>
> struct rtl_mdio_priv {
> @@ -78,7 +80,7 @@ static int rtl_mdio_phy_to_port(struct mii_bus *bus, int phy_id)
>
> priv = chan->priv;
>
> - for_each_set_bit(i, priv->valid_ports, MAX_PORTS)
> + for_each_set_bit(i, priv->valid_ports, priv->info->num_ports)
> if (priv->smi_bus[i] == chan->mdio_bus &&
> priv->smi_addr[i] == phy_id)
> return i;
> @@ -323,7 +325,7 @@ static int rtl9300_mdiobus_init(struct rtl_mdio_priv *priv)
> int i, err;
>
> /* Associate the port with the SMI interface and PHY */
> - for_each_set_bit(i, priv->valid_ports, MAX_PORTS) {
> + for_each_set_bit(i, priv->valid_ports, priv->info->num_ports) {
> int pos;
>
> pos = (i % 6) * 5;
> @@ -444,7 +446,7 @@ static int rtl_mdiobus_map_ports(struct device *dev)
> if (err)
> return err;
>
> - if (pn >= MAX_PORTS)
> + if (pn >= priv->info->num_ports)
> return dev_err_probe(dev, -EINVAL, "illegal port number %d\n", pn);
>
> if (test_bit(pn, priv->valid_ports))
> @@ -509,6 +511,7 @@ static int rtl_mdiobus_probe(struct platform_device *pdev)
>
> static const struct rtl_mdio_info rtl9300_mdio_info = {
> .num_buses = RTL9300_NUM_BUSES,
> + .num_ports = RTL9300_NUM_PORTS,
> };
>
> static const struct of_device_id rtl_mdio_ids[] = {
> --
> 2.54.0
>
next prev parent reply other threads:[~2026-05-19 17:28 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-19 16:57 [PATCH 0/9] mdio: realtek-rtl9300: Groundwork for multi SOC support Markus Stockhausen
2026-05-19 16:57 ` [PATCH 1/9] net: mdio: realtek-rtl9300: Convert to generic prefix Markus Stockhausen
2026-05-19 17:51 ` Andrew Lunn
2026-05-19 16:57 ` [PATCH 2/9] net: mdio: realtek-rtl9300: Add device specific info structure Markus Stockhausen
2026-05-19 16:57 ` [PATCH 3/9] net: mdio: realtek-rtl9300: Add ports to " Markus Stockhausen
2026-05-19 17:27 ` Daniel Golle [this message]
2026-05-19 17:59 ` Andrew Lunn
2026-05-19 19:06 ` AW: " Markus Stockhausen
2026-05-19 20:14 ` Andrew Lunn
2026-05-19 20:36 ` AW: " Markus Stockhausen
2026-05-19 22:47 ` Daniel Golle
2026-05-20 1:09 ` Andrew Lunn
[not found] ` <10121615-6F47-2A48-825A-0AC1E0C0F0C1@hxcore.ol>
2026-05-20 1:42 ` Andrew Lunn
2026-05-19 16:57 ` [PATCH 4/9] net: mdio: realtek-rtl9300: Add pages " Markus Stockhausen
2026-05-19 17:29 ` Daniel Golle
2026-05-19 18:07 ` Andrew Lunn
2026-05-19 16:57 ` [PATCH 5/9] net: mdio: realtek-rtl9300: Add register structure Markus Stockhausen
2026-05-19 16:57 ` [PATCH 6/9] net: mdio: realtek-rtl9300: Add command/C22 register Markus Stockhausen
2026-05-19 16:57 ` [PATCH 7/9] net: mdio: realtek-rtl9300: Add I/O register Markus Stockhausen
2026-05-19 16:57 ` [PATCH 8/9] net: mdio: realtek-rtl9300: Add mask register Markus Stockhausen
2026-05-19 18:43 ` Andrew Lunn
2026-05-19 16:57 ` [PATCH 9/9] net: mdio: realtek-rtl9300: Link I/O functions in info structure Markus Stockhausen
2026-05-19 18:46 ` Andrew Lunn
2026-05-19 19:25 ` AW: " Markus Stockhausen
2026-05-19 20:16 ` Andrew Lunn
2026-05-19 20:40 ` AW: " Markus Stockhausen
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=agydm8V25M-jy5o6@makrotopia.org \
--to=daniel@makrotopia.org \
--cc=andrew@lunn.ch \
--cc=chris.packham@alliedtelesis.co.nz \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux@armlinux.org.uk \
--cc=markus.stockhausen@gmx.de \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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