Re: [PATCH v3 04/62] mmc: litex_mmc: Convert to platform remove callback returning void

From: Gabriel L. Somlo
Date: Mon Jul 31 2023 - 16:16:20 EST


On Thu, Jul 27, 2023 at 02:59:53PM +0800, Yangtao Li 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: Gabriel Somlo <gsomlo@xxxxxxxxx>

Thanks,
--Gabriel

> ---
> drivers/mmc/host/litex_mmc.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/litex_mmc.c b/drivers/mmc/host/litex_mmc.c
> index 9af6b0902efe..4ec8072dc60b 100644
> --- a/drivers/mmc/host/litex_mmc.c
> +++ b/drivers/mmc/host/litex_mmc.c
> @@ -629,12 +629,11 @@ static int litex_mmc_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static int litex_mmc_remove(struct platform_device *pdev)
> +static void litex_mmc_remove(struct platform_device *pdev)
> {
> struct litex_mmc_host *host = platform_get_drvdata(pdev);
>
> mmc_remove_host(host->mmc);
> - return 0;
> }
>
> static const struct of_device_id litex_match[] = {
> @@ -645,7 +644,7 @@ MODULE_DEVICE_TABLE(of, litex_match);
>
> static struct platform_driver litex_mmc_driver = {
> .probe = litex_mmc_probe,
> - .remove = litex_mmc_remove,
> + .remove_new = litex_mmc_remove,
> .driver = {
> .name = "litex-mmc",
> .of_match_table = litex_match,
> --
> 2.39.0
>