Re: [PATCH 40/52] serial: sprd: Convert to platform remove callback returning void

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 10 Nov 2023 at 23:30, Uwe Kleine-König
<u.kleine-koenig@xxxxxxxxxxxxxx> 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 ignored (apart
> from emitting a warning) 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. Eventually after all drivers
> are converted, .remove_new() will be renamed to .remove().
>
> 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@xxxxxxxxxxxxxx>

Acked-by: Chunyan Zhang <zhang.lyra@xxxxxxxxx>

Thanks,
Chunyan

> ---
>  drivers/tty/serial/sprd_serial.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/tty/serial/sprd_serial.c b/drivers/tty/serial/sprd_serial.c
> index f257525f9299..15f14fa593da 100644
> --- a/drivers/tty/serial/sprd_serial.c
> +++ b/drivers/tty/serial/sprd_serial.c
> @@ -1076,7 +1076,7 @@ static struct uart_driver sprd_uart_driver = {
>         .cons = SPRD_CONSOLE,
>  };
>
> -static int sprd_remove(struct platform_device *dev)
> +static void sprd_remove(struct platform_device *dev)
>  {
>         struct sprd_uart_port *sup = platform_get_drvdata(dev);
>
> @@ -1089,8 +1089,6 @@ static int sprd_remove(struct platform_device *dev)
>
>         if (!sprd_ports_num)
>                 uart_unregister_driver(&sprd_uart_driver);
> -
> -       return 0;
>  }
>
>  static bool sprd_uart_is_console(struct uart_port *uport)
> @@ -1257,7 +1255,7 @@ MODULE_DEVICE_TABLE(of, serial_ids);
>
>  static struct platform_driver sprd_platform_driver = {
>         .probe          = sprd_probe,
> -       .remove         = sprd_remove,
> +       .remove_new     = sprd_remove,
>         .driver         = {
>                 .name   = "sprd_serial",
>                 .of_match_table = serial_ids,
> --
> 2.42.0
>




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux