net: stmmac: dwmac-tegra: use devm_stmmac_probe_config_dt()
authorJisheng Zhang <jszhang@kernel.org>
Sat, 16 Sep 2023 07:58:26 +0000 (15:58 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Sep 2023 11:44:36 +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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c

index e0f3cbd36852e32445f308a50310656c6a90c515..7e512c0762ea88c8a222aad8ccf3ed90e918aa9b 100644 (file)
@@ -284,7 +284,7 @@ static int tegra_mgbe_probe(struct platform_device *pdev)
        if (err < 0)
                goto disable_clks;
 
-       plat = stmmac_probe_config_dt(pdev, res.mac);
+       plat = devm_stmmac_probe_config_dt(pdev, res.mac);
        if (IS_ERR(plat)) {
                err = PTR_ERR(plat);
                goto disable_clks;
@@ -303,7 +303,7 @@ static int tegra_mgbe_probe(struct platform_device *pdev)
                                                   GFP_KERNEL);
                if (!plat->mdio_bus_data) {
                        err = -ENOMEM;
-                       goto remove;
+                       goto disable_clks;
                }
        }
 
@@ -321,7 +321,7 @@ static int tegra_mgbe_probe(struct platform_device *pdev)
                                 500, 500 * 2000);
        if (err < 0) {
                dev_err(mgbe->dev, "timeout waiting for TX lane to become enabled\n");
-               goto remove;
+               goto disable_clks;
        }
 
        plat->serdes_powerup = mgbe_uphy_lane_bringup_serdes_up;
@@ -342,12 +342,10 @@ static int tegra_mgbe_probe(struct platform_device *pdev)
 
        err = stmmac_dvr_probe(&pdev->dev, plat, &res);
        if (err < 0)
-               goto remove;
+               goto disable_clks;
 
        return 0;
 
-remove:
-       stmmac_remove_config_dt(pdev, plat);
 disable_clks:
        clk_bulk_disable_unprepare(ARRAY_SIZE(mgbe_clks), mgbe->clks);
 
@@ -360,7 +358,7 @@ static void tegra_mgbe_remove(struct platform_device *pdev)
 
        clk_bulk_disable_unprepare(ARRAY_SIZE(mgbe_clks), mgbe->clks);
 
-       stmmac_pltfr_remove(pdev);
+       stmmac_pltfr_remove_no_dt(pdev);
 }
 
 static const struct of_device_id tegra_mgbe_match[] = {