[PATCH net-next 8/9] net: stmmac: sun8i: remove of_get_phy_mode()
Andre Przywara
andre.przywara at arm.com
Mon Mar 10 06:38:19 PDT 2025
On Mon, 10 Mar 2025 12:10:54 +0000
"Russell King (Oracle)" <rmk+kernel at 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 at armlinux.org.uk>
Reviewed-by: Andre Przywara <andre.przywara at 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;
More information about the linux-arm-kernel
mailing list