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@xxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > 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