Netdev List
 help / color / mirror / Atom feed
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
> 

  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