Message ID | E1trbyA-005qYf-Hb@rmk-PC.armlinux.org.uk (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | net: stmmac: remove unnecessary of_get_phy_mode() calls | expand |
On Mon, 10 Mar 2025 12:10:54 +0000 "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk> wrote: Hi, > devm_stmmac_probe_config_dt() already gets the PHY mode from firmware, > which is stored in plat_dat->phy_interface. Therefore, we don't need to > get it in platform code. > > sun8i was using of_get_phy_mode() to set plat_dat->mac_interface, which > defaults to plat_dat->phy_interface when the mac-mode DT property is > not present. As nothing in arch/*/boot/dts sets the mac-mode property, > it is highly likely that these two will be identical, and thus there > is no need for this glue driver to set plat_dat->mac_interface. Well, the current sun8i code wouldn't help anyway, because the driver would set mac_interface to the value of "phy-mode", not "mac-mode", which is strictly speaking a bug. But in any case this is indeed redundant, so: > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Cheers, Andre > --- > drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c > index 4b7b2582a120..85723a78793a 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c > @@ -1155,11 +1155,10 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) > struct stmmac_resources stmmac_res; > struct sunxi_priv_data *gmac; > struct device *dev = &pdev->dev; > - phy_interface_t interface; > - int ret; > struct stmmac_priv *priv; > struct net_device *ndev; > struct regmap *regmap; > + int ret; > > ret = stmmac_get_platform_resources(pdev, &stmmac_res); > if (ret) > @@ -1219,10 +1218,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) > return ret; > } > > - ret = of_get_phy_mode(dev->of_node, &interface); > - if (ret) > - return -EINVAL; > - > plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac); > if (IS_ERR(plat_dat)) > return PTR_ERR(plat_dat); > @@ -1230,7 +1225,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) > /* platform data specifying hardware features and callbacks. > * hardware features were copied from Allwinner drivers. > */ > - plat_dat->mac_interface = interface; > plat_dat->rx_coe = STMMAC_RX_COE_TYPE2; > plat_dat->tx_coe = 1; > plat_dat->flags |= STMMAC_FLAG_HAS_SUN8I;
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 4b7b2582a120..85723a78793a 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -1155,11 +1155,10 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) struct stmmac_resources stmmac_res; struct sunxi_priv_data *gmac; struct device *dev = &pdev->dev; - phy_interface_t interface; - int ret; struct stmmac_priv *priv; struct net_device *ndev; struct regmap *regmap; + int ret; ret = stmmac_get_platform_resources(pdev, &stmmac_res); if (ret) @@ -1219,10 +1218,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) return ret; } - ret = of_get_phy_mode(dev->of_node, &interface); - if (ret) - return -EINVAL; - plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac); if (IS_ERR(plat_dat)) return PTR_ERR(plat_dat); @@ -1230,7 +1225,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) /* platform data specifying hardware features and callbacks. * hardware features were copied from Allwinner drivers. */ - plat_dat->mac_interface = interface; plat_dat->rx_coe = STMMAC_RX_COE_TYPE2; plat_dat->tx_coe = 1; plat_dat->flags |= STMMAC_FLAG_HAS_SUN8I;
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware, which is stored in plat_dat->phy_interface. Therefore, we don't need to get it in platform code. sun8i was using of_get_phy_mode() to set plat_dat->mac_interface, which defaults to plat_dat->phy_interface when the mac-mode DT property is not present. As nothing in arch/*/boot/dts sets the mac-mode property, it is highly likely that these two will be identical, and thus there is no need for this glue driver to set plat_dat->mac_interface. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)