summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJisheng Zhang <jszhang@kernel.org>2023-09-16 09:58:26 +0200
committerDavid S. Miller <davem@davemloft.net>2023-09-18 13:44:36 +0200
commitacf73ccff08e6a19b9937623d5eeed0e7a59a158 (patch)
tree7dda70bf26415c7060c7894613cea8f777cf9ae9 /drivers
parentnet: stmmac: dwmac-sunxi: use devm_stmmac_probe_config_dt() (diff)
downloadlinux-acf73ccff08e6a19b9937623d5eeed0e7a59a158.tar.xz
linux-acf73ccff08e6a19b9937623d5eeed0e7a59a158.zip
net: stmmac: dwmac-tegra: use devm_stmmac_probe_config_dt()
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
index e0f3cbd36852..7e512c0762ea 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
@@ -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[] = {