[PATCH 14/53] drm/bridge: synopsys: Convert to platform remove callback returning void
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon May 8 02:37:11 UTC 2023
Hi Uwe,
Thank you for the patch.
On Sun, May 07, 2023 at 06:25:37PM +0200, Uwe Kleine-König 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 the synopsis bridge drivers 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>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 6 ++----
> drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 6 ++----
> drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c | 6 ++----
> drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 6 ++----
> 4 files changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
> index 4efb62bcdb63..67b8d17a722a 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
> @@ -584,13 +584,11 @@ static int snd_dw_hdmi_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int snd_dw_hdmi_remove(struct platform_device *pdev)
> +static void snd_dw_hdmi_remove(struct platform_device *pdev)
> {
> struct snd_dw_hdmi *dw = platform_get_drvdata(pdev);
>
> snd_card_free(dw->card);
> -
> - return 0;
> }
>
> #if defined(CONFIG_PM_SLEEP) && defined(IS_NOT_BROKEN)
> @@ -625,7 +623,7 @@ static SIMPLE_DEV_PM_OPS(snd_dw_hdmi_pm, snd_dw_hdmi_suspend,
>
> static struct platform_driver snd_dw_hdmi_driver = {
> .probe = snd_dw_hdmi_probe,
> - .remove = snd_dw_hdmi_remove,
> + .remove_new = snd_dw_hdmi_remove,
> .driver = {
> .name = DRIVER_NAME,
> .pm = PM_OPS,
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> index c8f44bcb298a..9389ce526eb1 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> @@ -296,19 +296,17 @@ static int dw_hdmi_cec_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static int dw_hdmi_cec_remove(struct platform_device *pdev)
> +static void dw_hdmi_cec_remove(struct platform_device *pdev)
> {
> struct dw_hdmi_cec *cec = platform_get_drvdata(pdev);
>
> cec_notifier_cec_adap_unregister(cec->notify, cec->adap);
> cec_unregister_adapter(cec->adap);
> -
> - return 0;
> }
>
> static struct platform_driver dw_hdmi_cec_driver = {
> .probe = dw_hdmi_cec_probe,
> - .remove = dw_hdmi_cec_remove,
> + .remove_new = dw_hdmi_cec_remove,
> .driver = {
> .name = "dw-hdmi-cec",
> },
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c
> index 557966239677..423762da2ab4 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c
> @@ -172,18 +172,16 @@ static int snd_dw_hdmi_probe(struct platform_device *pdev)
> return PTR_ERR_OR_ZERO(dw->audio_pdev);
> }
>
> -static int snd_dw_hdmi_remove(struct platform_device *pdev)
> +static void snd_dw_hdmi_remove(struct platform_device *pdev)
> {
> struct snd_dw_hdmi *dw = platform_get_drvdata(pdev);
>
> platform_device_unregister(dw->audio_pdev);
> -
> - return 0;
> }
>
> static struct platform_driver snd_dw_hdmi_driver = {
> .probe = snd_dw_hdmi_probe,
> - .remove = snd_dw_hdmi_remove,
> + .remove_new = snd_dw_hdmi_remove,
> .driver = {
> .name = DRIVER_NAME,
> },
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
> index d751820c6da6..26c187d20d97 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
> @@ -216,18 +216,16 @@ static int snd_dw_hdmi_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static int snd_dw_hdmi_remove(struct platform_device *pdev)
> +static void snd_dw_hdmi_remove(struct platform_device *pdev)
> {
> struct platform_device *platform = dev_get_drvdata(&pdev->dev);
>
> platform_device_unregister(platform);
> -
> - return 0;
> }
>
> static struct platform_driver snd_dw_hdmi_driver = {
> .probe = snd_dw_hdmi_probe,
> - .remove = snd_dw_hdmi_remove,
> + .remove_new = snd_dw_hdmi_remove,
> .driver = {
> .name = DRIVER_NAME,
> },
> --
> 2.39.2
>
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list