Message ID | 20230916075829.1560-2-jszhang@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | convert to devm_stmmac_probe_config_dt | expand |
On Sat, Sep 16, 2023 at 03:58:07PM +0800, Jisheng Zhang wrote: > Simplify the driver's probe() function by using the devres > variant of stmmac_probe_config_dt(). > > The remove_new() callback now needs to be switched to > stmmac_pltfr_remove_no_dt(). > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > --- > drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > index 58a7f08e8d78..0df3a2ad0986 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > @@ -115,7 +115,7 @@ static int anarion_dwmac_probe(struct platform_device *pdev) > if (IS_ERR(gmac)) > return PTR_ERR(gmac); > > - 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); > > @@ -124,13 +124,7 @@ static int anarion_dwmac_probe(struct platform_device *pdev) > anarion_gmac_init(pdev, gmac); > plat_dat->bsp_priv = gmac; > > - ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); > - if (ret) { > - stmmac_remove_config_dt(pdev, plat_dat); > - return ret; > - } > - > - return 0; > + return stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); Just a general note, IMO it's better from maintainability point of view to use the pattern: ret = func(); if (ret) return ret; return 0; Thus should you need to add any functions call after or before the func() method invocation with possible clean-up-on-error code the change patch will look a bit simpler and more readable. -Serge(y) > } > > static const struct of_device_id anarion_dwmac_match[] = { > @@ -141,7 +135,7 @@ MODULE_DEVICE_TABLE(of, anarion_dwmac_match); > > static struct platform_driver anarion_dwmac_driver = { > .probe = anarion_dwmac_probe, > - .remove_new = stmmac_pltfr_remove, > + .remove_new = stmmac_pltfr_remove_no_dt, > .driver = { > .name = "anarion-dwmac", > .pm = &stmmac_pltfr_pm_ops, > -- > 2.40.1 > >
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c index 58a7f08e8d78..0df3a2ad0986 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c @@ -115,7 +115,7 @@ static int anarion_dwmac_probe(struct platform_device *pdev) if (IS_ERR(gmac)) return PTR_ERR(gmac); - 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); @@ -124,13 +124,7 @@ static int anarion_dwmac_probe(struct platform_device *pdev) anarion_gmac_init(pdev, gmac); plat_dat->bsp_priv = gmac; - ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); - if (ret) { - stmmac_remove_config_dt(pdev, plat_dat); - return ret; - } - - return 0; + return stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); } static const struct of_device_id anarion_dwmac_match[] = { @@ -141,7 +135,7 @@ MODULE_DEVICE_TABLE(of, anarion_dwmac_match); static struct platform_driver anarion_dwmac_driver = { .probe = anarion_dwmac_probe, - .remove_new = stmmac_pltfr_remove, + .remove_new = stmmac_pltfr_remove_no_dt, .driver = { .name = "anarion-dwmac", .pm = &stmmac_pltfr_pm_ops,
Simplify the driver's probe() function by using the devres variant of stmmac_probe_config_dt(). The remove_new() callback now needs to be switched to stmmac_pltfr_remove_no_dt(). Signed-off-by: Jisheng Zhang <jszhang@kernel.org> --- drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)