Hi Jisheng On Sat, Sep 16, 2023 at 03:58:08PM +0800, Jisheng Zhang wrote: > Simplify the driver's probe() function by using the devres > variant of stmmac_probe_config_dt(). > > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx> > --- > .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 15 +++------------ > 1 file changed, 3 insertions(+), 12 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c > index 61ebf36da13d..ec924c6c76c6 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c > @@ -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; just "return dev_err_probe()". -Serge(y) > } > > 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[] = { > -- > 2.40.1 > >