[PATCH 45/89] i2c: npcm7xx: Convert to platform remove callback returning void

Tali Perry tali.perry1 at gmail.com
Tue May 9 16:32:54 AEST 2023


Thanks!

Reviewed-by: Tali Perry <tali.perry at nuvoton.com>


On Mon, May 8, 2023 at 11:53 PM Uwe Kleine-König
<u.kleine-koenig at pengutronix.de> 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.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> ---
>  drivers/i2c/busses/i2c-npcm7xx.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-npcm7xx.c b/drivers/i2c/busses/i2c-npcm7xx.c
> index 38d5864d0cb5..53b65ffb6a64 100644
> --- a/drivers/i2c/busses/i2c-npcm7xx.c
> +++ b/drivers/i2c/busses/i2c-npcm7xx.c
> @@ -2361,7 +2361,7 @@ static int npcm_i2c_probe_bus(struct platform_device *pdev)
>         return 0;
>  }
>
> -static int npcm_i2c_remove_bus(struct platform_device *pdev)
> +static void npcm_i2c_remove_bus(struct platform_device *pdev)
>  {
>         unsigned long lock_flags;
>         struct npcm_i2c *bus = platform_get_drvdata(pdev);
> @@ -2371,7 +2371,6 @@ static int npcm_i2c_remove_bus(struct platform_device *pdev)
>         npcm_i2c_disable(bus);
>         spin_unlock_irqrestore(&bus->lock, lock_flags);
>         i2c_del_adapter(&bus->adap);
> -       return 0;
>  }
>
>  static const struct of_device_id npcm_i2c_bus_of_table[] = {
> @@ -2383,7 +2382,7 @@ MODULE_DEVICE_TABLE(of, npcm_i2c_bus_of_table);
>
>  static struct platform_driver npcm_i2c_bus_driver = {
>         .probe = npcm_i2c_probe_bus,
> -       .remove = npcm_i2c_remove_bus,
> +       .remove_new = npcm_i2c_remove_bus,
>         .driver = {
>                 .name = "nuvoton-i2c",
>                 .of_match_table = npcm_i2c_bus_of_table,
> --
> 2.39.2
>


More information about the openbmc mailing list