[PATCH] drm: exynos: dsi: Convert to platform remove callback returning void
Inki Dae
daeinki at gmail.com
Fri Oct 6 03:39:59 UTC 2023
2023년 9월 19일 (화) 오후 7:40, Uwe Kleine-König
<u.kleine-koenig at pengutronix.de>님이 작성:
>
> 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() is renamed to .remove().
>
> samsung_dsim_remove() returned 0 unconditionally. Make it return void
> instead to convert the two related platform drivers to use
> .remove_new().
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
It'd be better to go to drm-misc.
Reviewed-by: Inki Dae <inki.dae at samsung.com>
Acked-by: Inki Dae <inki.dae at samsung.com>
Thanks,
Inki Dae
> ---
> drivers/gpu/drm/bridge/samsung-dsim.c | 6 ++----
> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 2 +-
> include/drm/bridge/samsung-dsim.h | 2 +-
> 3 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge/samsung-dsim.c
> index b1df91e37b1b..2b56a5bfe273 100644
> --- a/drivers/gpu/drm/bridge/samsung-dsim.c
> +++ b/drivers/gpu/drm/bridge/samsung-dsim.c
> @@ -1998,7 +1998,7 @@ int samsung_dsim_probe(struct platform_device *pdev)
> }
> EXPORT_SYMBOL_GPL(samsung_dsim_probe);
>
> -int samsung_dsim_remove(struct platform_device *pdev)
> +void samsung_dsim_remove(struct platform_device *pdev)
> {
> struct samsung_dsim *dsi = platform_get_drvdata(pdev);
>
> @@ -2006,8 +2006,6 @@ int samsung_dsim_remove(struct platform_device *pdev)
>
> if (dsi->plat_data->host_ops && dsi->plat_data->host_ops->unregister_host)
> dsi->plat_data->host_ops->unregister_host(dsi);
> -
> - return 0;
> }
> EXPORT_SYMBOL_GPL(samsung_dsim_remove);
>
> @@ -2107,7 +2105,7 @@ MODULE_DEVICE_TABLE(of, samsung_dsim_of_match);
>
> static struct platform_driver samsung_dsim_driver = {
> .probe = samsung_dsim_probe,
> - .remove = samsung_dsim_remove,
> + .remove_new = samsung_dsim_remove,
> .driver = {
> .name = "samsung-dsim",
> .pm = &samsung_dsim_pm_ops,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> index 69ea33cae651..2fe0e5f3f638 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> @@ -181,7 +181,7 @@ MODULE_DEVICE_TABLE(of, exynos_dsi_of_match);
>
> struct platform_driver dsi_driver = {
> .probe = samsung_dsim_probe,
> - .remove = samsung_dsim_remove,
> + .remove_new = samsung_dsim_remove,
> .driver = {
> .name = "exynos-dsi",
> .owner = THIS_MODULE,
> diff --git a/include/drm/bridge/samsung-dsim.h b/include/drm/bridge/samsung-dsim.h
> index 6fc9bb2979e4..3f8050d523eb 100644
> --- a/include/drm/bridge/samsung-dsim.h
> +++ b/include/drm/bridge/samsung-dsim.h
> @@ -116,7 +116,7 @@ struct samsung_dsim {
> };
>
> extern int samsung_dsim_probe(struct platform_device *pdev);
> -extern int samsung_dsim_remove(struct platform_device *pdev);
> +extern void samsung_dsim_remove(struct platform_device *pdev);
> extern const struct dev_pm_ops samsung_dsim_pm_ops;
>
> #endif /* __SAMSUNG_DSIM__ */
>
> base-commit: 0663e1da5ba8e6459e3555ac12c62741668c0d30
> --
> 2.40.1
>
More information about the dri-devel
mailing list