net: stmmac: dwmac-dwc-qos-eth: use devm_stmmac_probe_config_dt()
Simplify the driver's probe() function by using the devres variant of stmmac_probe_config_dt(). Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6f799fd9dd
commit
0485825dd6
@@ -435,15 +435,14 @@ static int dwc_eth_dwmac_probe(struct platform_device *pdev)
|
||||
if (IS_ERR(stmmac_res.addr))
|
||||
return PTR_ERR(stmmac_res.addr);
|
||||
|
||||
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);
|
||||
|
||||
ret = data->probe(pdev, plat_dat, &stmmac_res);
|
||||
if (ret < 0) {
|
||||
dev_err_probe(&pdev->dev, ret, "failed to probe subdriver\n");
|
||||
|
||||
goto remove_config;
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = dwc_eth_dwmac_config_dt(pdev, plat_dat);
|
||||
@@ -458,25 +457,17 @@ static int dwc_eth_dwmac_probe(struct platform_device *pdev)
|
||||
|
||||
remove:
|
||||
data->remove(pdev);
|
||||
remove_config:
|
||||
stmmac_remove_config_dt(pdev, plat_dat);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void dwc_eth_dwmac_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct net_device *ndev = platform_get_drvdata(pdev);
|
||||
struct stmmac_priv *priv = netdev_priv(ndev);
|
||||
const struct dwc_eth_dwmac_data *data;
|
||||
|
||||
data = device_get_match_data(&pdev->dev);
|
||||
const struct dwc_eth_dwmac_data *data = device_get_match_data(&pdev->dev);
|
||||
|
||||
stmmac_dvr_remove(&pdev->dev);
|
||||
|
||||
data->remove(pdev);
|
||||
|
||||
stmmac_remove_config_dt(pdev, priv->plat);
|
||||
}
|
||||
|
||||
static const struct of_device_id dwc_eth_dwmac_match[] = {
|
||||
|
||||
Reference in New Issue
Block a user