net: stmmac: dwmac-sun8i: use devm_stmmac_probe_config_dt()
authorJisheng Zhang <jszhang@kernel.org>
Sat, 16 Sep 2023 07:58:24 +0000 (15:58 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Sep 2023 11:44:35 +0000 (12:44 +0100)
Simplify the driver's probe() function by using the devres
variant of stmmac_probe_config_dt().

The calling of stmmac_pltfr_remove() now needs to be switched to
stmmac_pltfr_remove_no_dt().

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c

index 01e77368eef1c1845b3c9b8fb610b62d61bd84dc..63a7e5e53d7b653b26223b9fccbe121fa6bf6fc0 100644 (file)
@@ -1224,7 +1224,7 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
        if (ret)
                return -EINVAL;
 
-       plat_dat = stmmac_probe_config_dt(pdev, stmmac_res.mac);
+       plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac);
        if (IS_ERR(plat_dat))
                return PTR_ERR(plat_dat);
 
@@ -1244,7 +1244,7 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
 
        ret = sun8i_dwmac_set_syscon(&pdev->dev, plat_dat);
        if (ret)
-               goto dwmac_deconfig;
+               return ret;
 
        ret = sun8i_dwmac_init(pdev, plat_dat->bsp_priv);
        if (ret)
@@ -1295,8 +1295,6 @@ dwmac_exit:
        sun8i_dwmac_exit(pdev, gmac);
 dwmac_syscon:
        sun8i_dwmac_unset_syscon(gmac);
-dwmac_deconfig:
-       stmmac_remove_config_dt(pdev, plat_dat);
 
        return ret;
 }
@@ -1314,7 +1312,7 @@ static void sun8i_dwmac_remove(struct platform_device *pdev)
                clk_put(gmac->ephy_clk);
        }
 
-       stmmac_pltfr_remove(pdev);
+       stmmac_pltfr_remove_no_dt(pdev);
        sun8i_dwmac_unset_syscon(gmac);
 }