Message ID | 20230916075829.1560-3-jszhang@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | convert to devm_stmmac_probe_config_dt | expand |
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@kernel.org> > --- > .../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 > >
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; } 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[] = {
Simplify the driver's probe() function by using the devres variant of stmmac_probe_config_dt(). Signed-off-by: Jisheng Zhang <jszhang@kernel.org> --- .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-)