[PATCH net-next v3 4/5] net: macb: rename bp->sgmii_phy field to bp->phy

Théo Lebrun posted 5 patches 3 months, 2 weeks ago
[PATCH net-next v3 4/5] net: macb: rename bp->sgmii_phy field to bp->phy
Posted by Théo Lebrun 3 months, 2 weeks ago
The bp->sgmii_phy field is initialised at probe by init_reset_optional()
if bp->phy_interface == PHY_INTERFACE_MODE_SGMII. It gets used by:
 - zynqmp_config: "cdns,zynqmp-gem" or "xlnx,zynqmp-gem" compatibles.
 - mpfs_config: "microchip,mpfs-macb" compatible.
 - versal_config: "xlnx,versal-gem" compatible.

Make name more generic as EyeQ5 requires the PHY in SGMII & RGMII cases.

Drop "for ZynqMP SGMII mode" comment that is already a lie, as it gets
used on Microchip platforms as well. And soon it won't be SGMII-only.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
 drivers/net/ethernet/cadence/macb.h      |  2 +-
 drivers/net/ethernet/cadence/macb_main.c | 26 +++++++++++++-------------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
index 05bfa9bd4782..87414a2ddf6e 100644
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -1341,7 +1341,7 @@ struct macb {
 
 	struct macb_ptp_info	*ptp_info;	/* macb-ptp interface */
 
-	struct phy		*sgmii_phy;	/* for ZynqMP SGMII mode */
+	struct phy		*phy;
 
 	spinlock_t tsu_clk_lock; /* gem tsu clock locking */
 	unsigned int tsu_rate;
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 8b688a6cb2f9..44188e7eee56 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -2965,7 +2965,7 @@ static int macb_open(struct net_device *dev)
 
 	macb_init_hw(bp);
 
-	err = phy_power_on(bp->sgmii_phy);
+	err = phy_power_on(bp->phy);
 	if (err)
 		goto reset_hw;
 
@@ -2981,7 +2981,7 @@ static int macb_open(struct net_device *dev)
 	return 0;
 
 phy_off:
-	phy_power_off(bp->sgmii_phy);
+	phy_power_off(bp->phy);
 
 reset_hw:
 	macb_reset_hw(bp);
@@ -3013,7 +3013,7 @@ static int macb_close(struct net_device *dev)
 	phylink_stop(bp->phylink);
 	phylink_disconnect_phy(bp->phylink);
 
-	phy_power_off(bp->sgmii_phy);
+	phy_power_off(bp->phy);
 
 	spin_lock_irqsave(&bp->lock, flags);
 	macb_reset_hw(bp);
@@ -5141,13 +5141,13 @@ static int init_reset_optional(struct platform_device *pdev)
 
 	if (bp->phy_interface == PHY_INTERFACE_MODE_SGMII) {
 		/* Ensure PHY device used in SGMII mode is ready */
-		bp->sgmii_phy = devm_phy_optional_get(&pdev->dev, NULL);
+		bp->phy = devm_phy_optional_get(&pdev->dev, NULL);
 
-		if (IS_ERR(bp->sgmii_phy))
-			return dev_err_probe(&pdev->dev, PTR_ERR(bp->sgmii_phy),
+		if (IS_ERR(bp->phy))
+			return dev_err_probe(&pdev->dev, PTR_ERR(bp->phy),
 					     "failed to get SGMII PHY\n");
 
-		ret = phy_init(bp->sgmii_phy);
+		ret = phy_init(bp->phy);
 		if (ret)
 			return dev_err_probe(&pdev->dev, ret,
 					     "failed to init SGMII PHY\n");
@@ -5176,7 +5176,7 @@ static int init_reset_optional(struct platform_device *pdev)
 	/* Fully reset controller at hardware level if mapped in device tree */
 	ret = device_reset_optional(&pdev->dev);
 	if (ret) {
-		phy_exit(bp->sgmii_phy);
+		phy_exit(bp->phy);
 		return dev_err_probe(&pdev->dev, ret, "failed to reset controller");
 	}
 
@@ -5184,7 +5184,7 @@ static int init_reset_optional(struct platform_device *pdev)
 
 err_out_phy_exit:
 	if (ret)
-		phy_exit(bp->sgmii_phy);
+		phy_exit(bp->phy);
 
 	return ret;
 }
@@ -5594,7 +5594,7 @@ static int macb_probe(struct platform_device *pdev)
 	mdiobus_free(bp->mii_bus);
 
 err_out_phy_exit:
-	phy_exit(bp->sgmii_phy);
+	phy_exit(bp->phy);
 
 err_out_free_netdev:
 	free_netdev(dev);
@@ -5618,7 +5618,7 @@ static void macb_remove(struct platform_device *pdev)
 	if (dev) {
 		bp = netdev_priv(dev);
 		unregister_netdev(dev);
-		phy_exit(bp->sgmii_phy);
+		phy_exit(bp->phy);
 		mdiobus_unregister(bp->mii_bus);
 		mdiobus_free(bp->mii_bus);
 
@@ -5645,7 +5645,7 @@ static int __maybe_unused macb_suspend(struct device *dev)
 	u32 tmp;
 
 	if (!device_may_wakeup(&bp->dev->dev))
-		phy_exit(bp->sgmii_phy);
+		phy_exit(bp->phy);
 
 	if (!netif_running(netdev))
 		return 0;
@@ -5774,7 +5774,7 @@ static int __maybe_unused macb_resume(struct device *dev)
 	int err;
 
 	if (!device_may_wakeup(&bp->dev->dev))
-		phy_init(bp->sgmii_phy);
+		phy_init(bp->phy);
 
 	if (!netif_running(netdev))
 		return 0;

-- 
2.51.1

Re: [PATCH net-next v3 4/5] net: macb: rename bp->sgmii_phy field to bp->phy
Posted by Nicolas Ferre 3 months, 1 week ago
On 23/10/2025 at 18:22, Théo Lebrun wrote:
> The bp->sgmii_phy field is initialised at probe by init_reset_optional()
> if bp->phy_interface == PHY_INTERFACE_MODE_SGMII. It gets used by:
>   - zynqmp_config: "cdns,zynqmp-gem" or "xlnx,zynqmp-gem" compatibles.
>   - mpfs_config: "microchip,mpfs-macb" compatible.
>   - versal_config: "xlnx,versal-gem" compatible.
> 
> Make name more generic as EyeQ5 requires the PHY in SGMII & RGMII cases.
> 
> Drop "for ZynqMP SGMII mode" comment that is already a lie, as it gets
> used on Microchip platforms as well. And soon it won't be SGMII-only.
> 
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>

> ---
>   drivers/net/ethernet/cadence/macb.h      |  2 +-
>   drivers/net/ethernet/cadence/macb_main.c | 26 +++++++++++++-------------
>   2 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
> index 05bfa9bd4782..87414a2ddf6e 100644
> --- a/drivers/net/ethernet/cadence/macb.h
> +++ b/drivers/net/ethernet/cadence/macb.h
> @@ -1341,7 +1341,7 @@ struct macb {
> 
>          struct macb_ptp_info    *ptp_info;      /* macb-ptp interface */
> 
> -       struct phy              *sgmii_phy;     /* for ZynqMP SGMII mode */
> +       struct phy              *phy;
> 
>          spinlock_t tsu_clk_lock; /* gem tsu clock locking */
>          unsigned int tsu_rate;
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index 8b688a6cb2f9..44188e7eee56 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -2965,7 +2965,7 @@ static int macb_open(struct net_device *dev)
> 
>          macb_init_hw(bp);
> 
> -       err = phy_power_on(bp->sgmii_phy);
> +       err = phy_power_on(bp->phy);
>          if (err)
>                  goto reset_hw;
> 
> @@ -2981,7 +2981,7 @@ static int macb_open(struct net_device *dev)
>          return 0;
> 
>   phy_off:
> -       phy_power_off(bp->sgmii_phy);
> +       phy_power_off(bp->phy);
> 
>   reset_hw:
>          macb_reset_hw(bp);
> @@ -3013,7 +3013,7 @@ static int macb_close(struct net_device *dev)
>          phylink_stop(bp->phylink);
>          phylink_disconnect_phy(bp->phylink);
> 
> -       phy_power_off(bp->sgmii_phy);
> +       phy_power_off(bp->phy);
> 
>          spin_lock_irqsave(&bp->lock, flags);
>          macb_reset_hw(bp);
> @@ -5141,13 +5141,13 @@ static int init_reset_optional(struct platform_device *pdev)
> 
>          if (bp->phy_interface == PHY_INTERFACE_MODE_SGMII) {
>                  /* Ensure PHY device used in SGMII mode is ready */
> -               bp->sgmii_phy = devm_phy_optional_get(&pdev->dev, NULL);
> +               bp->phy = devm_phy_optional_get(&pdev->dev, NULL);
> 
> -               if (IS_ERR(bp->sgmii_phy))
> -                       return dev_err_probe(&pdev->dev, PTR_ERR(bp->sgmii_phy),
> +               if (IS_ERR(bp->phy))
> +                       return dev_err_probe(&pdev->dev, PTR_ERR(bp->phy),
>                                               "failed to get SGMII PHY\n");
> 
> -               ret = phy_init(bp->sgmii_phy);
> +               ret = phy_init(bp->phy);
>                  if (ret)
>                          return dev_err_probe(&pdev->dev, ret,
>                                               "failed to init SGMII PHY\n");
> @@ -5176,7 +5176,7 @@ static int init_reset_optional(struct platform_device *pdev)
>          /* Fully reset controller at hardware level if mapped in device tree */
>          ret = device_reset_optional(&pdev->dev);
>          if (ret) {
> -               phy_exit(bp->sgmii_phy);
> +               phy_exit(bp->phy);
>                  return dev_err_probe(&pdev->dev, ret, "failed to reset controller");
>          }
> 
> @@ -5184,7 +5184,7 @@ static int init_reset_optional(struct platform_device *pdev)
> 
>   err_out_phy_exit:
>          if (ret)
> -               phy_exit(bp->sgmii_phy);
> +               phy_exit(bp->phy);
> 
>          return ret;
>   }
> @@ -5594,7 +5594,7 @@ static int macb_probe(struct platform_device *pdev)
>          mdiobus_free(bp->mii_bus);
> 
>   err_out_phy_exit:
> -       phy_exit(bp->sgmii_phy);
> +       phy_exit(bp->phy);
> 
>   err_out_free_netdev:
>          free_netdev(dev);
> @@ -5618,7 +5618,7 @@ static void macb_remove(struct platform_device *pdev)
>          if (dev) {
>                  bp = netdev_priv(dev);
>                  unregister_netdev(dev);
> -               phy_exit(bp->sgmii_phy);
> +               phy_exit(bp->phy);
>                  mdiobus_unregister(bp->mii_bus);
>                  mdiobus_free(bp->mii_bus);
> 
> @@ -5645,7 +5645,7 @@ static int __maybe_unused macb_suspend(struct device *dev)
>          u32 tmp;
> 
>          if (!device_may_wakeup(&bp->dev->dev))
> -               phy_exit(bp->sgmii_phy);
> +               phy_exit(bp->phy);
> 
>          if (!netif_running(netdev))
>                  return 0;
> @@ -5774,7 +5774,7 @@ static int __maybe_unused macb_resume(struct device *dev)
>          int err;
> 
>          if (!device_may_wakeup(&bp->dev->dev))
> -               phy_init(bp->sgmii_phy);
> +               phy_init(bp->phy);
> 
>          if (!netif_running(netdev))
>                  return 0;
> 
> --
> 2.51.1
>