RE: [PATCH] crypto: tegra-se - Convert to platform remove callback returning void

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

 



> 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.
> 
> Fixes: 0880bb3b00c8 ("crypto: tegra - Add Tegra Security Engine driver")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> ---
> Hello,
> 
> this driver appeared in today's next. Given that I want to change struct
> platform_driver::remove soon (probably in next after the upcoming merge
> window), it would be great if the driver could be adapted immediately.
> 
> Best regards
> Uwe
> 
>  drivers/crypto/tegra/tegra-se-main.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/crypto/tegra/tegra-se-main.c b/drivers/crypto/tegra/tegra-se-
> main.c
> index f4758e320615..9955874b3dc3 100644
> --- a/drivers/crypto/tegra/tegra-se-main.c
> +++ b/drivers/crypto/tegra/tegra-se-main.c
> @@ -320,7 +320,7 @@ static int tegra_se_probe(struct platform_device *pdev)
>         return 0;
>  }
> 
> -static int tegra_se_remove(struct platform_device *pdev)
> +static void tegra_se_remove(struct platform_device *pdev)
>  {
>         struct tegra_se *se = platform_get_drvdata(pdev);
> 
> @@ -328,8 +328,6 @@ static int tegra_se_remove(struct platform_device
> *pdev)
>         crypto_engine_exit(se->engine);
>         iommu_fwspec_free(se->dev);
>         host1x_client_unregister(&se->client);
> -
> -       return 0;
>  }
> 
>  static const struct tegra_se_regs tegra234_aes1_regs = { @@ -390,7 +388,7 @@
> static struct platform_driver tegra_se_driver = {
>                 .of_match_table = tegra_se_of_match,
>         },
>         .probe          = tegra_se_probe,
> -       .remove         = tegra_se_remove,
> +       .remove_new     = tegra_se_remove,
>  };
> 
>  static int tegra_se_host1x_probe(struct host1x_device *dev)
> 
> base-commit: 6bd343537461b57f3efe5dfc5fc193a232dfef1e

Acked-by: Akhil R <akhilrajeev@xxxxxxxxxx>




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux