On Mon, 7 Aug 2023 at 17:26, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > > On Thu, 27 Jul 2023 at 09:01, Yangtao Li <frank.li@xxxxxxxx> wrote: > > > > The .remove() callback for a platform driver returns an int which makes > > many driver authors wrongly assume it's possible to do error handling by > > returning an error code. However the value returned is (mostly) ignored > > and this typically results in resource leaks. To improve here there is a > > quest to make the remove callback return void. In the first step of this > > quest all drivers are converted to .remove_new() which already returns > > void. > > > > Trivially convert this driver from always returning zero in the remove > > callback to the void returning variant. > > > > Cc: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > > Signed-off-by: Yangtao Li <frank.li@xxxxxxxx> > > Acked-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx> > > Normally I would prefer one patch per host driver, but in this series > the changes are so trivial that it just becomes more difficult for me > to manage. > > Please squash all changes that convert from using ->remove() to > .remove_new() into one single patch for the mmc host drivers. Note > that, I discovered there are some additional cleanups being part of > the series, those deserve to be submitted indepently of this. Okay, so I decided to pick the series anyway. Applied for next (except for patch 62 which went to fixes), thanks! Kind regards Uffe > > Kind regards > Uffe > > > --- > > drivers/mmc/host/sunxi-mmc.c | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c > > index 69dcb8805e05..d3bd0ac99ec4 100644 > > --- a/drivers/mmc/host/sunxi-mmc.c > > +++ b/drivers/mmc/host/sunxi-mmc.c > > @@ -1486,7 +1486,7 @@ static int sunxi_mmc_probe(struct platform_device *pdev) > > return ret; > > } > > > > -static int sunxi_mmc_remove(struct platform_device *pdev) > > +static void sunxi_mmc_remove(struct platform_device *pdev) > > { > > struct mmc_host *mmc = platform_get_drvdata(pdev); > > struct sunxi_mmc_host *host = mmc_priv(mmc); > > @@ -1499,8 +1499,6 @@ static int sunxi_mmc_remove(struct platform_device *pdev) > > } > > dma_free_coherent(&pdev->dev, PAGE_SIZE, host->sg_cpu, host->sg_dma); > > mmc_free_host(mmc); > > - > > - return 0; > > } > > > > #ifdef CONFIG_PM > > @@ -1556,7 +1554,7 @@ static struct platform_driver sunxi_mmc_driver = { > > .pm = &sunxi_mmc_pm_ops, > > }, > > .probe = sunxi_mmc_probe, > > - .remove = sunxi_mmc_remove, > > + .remove_new = sunxi_mmc_remove, > > }; > > module_platform_driver(sunxi_mmc_driver); > > > > -- > > 2.39.0 > >