Commit acf73ccf authored by Jisheng Zhang's avatar Jisheng Zhang Committed by David S. Miller
Browse files

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: default avatarJisheng Zhang <jszhang@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 29159533
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -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[] = {