[PATCH 41/53] drm/sti: Convert to platform remove callback returning void

Alain Volmat alain.volmat at foss.st.com
Tue May 9 07:22:11 UTC 2023


Hi,

Acked-by: Alain Volmat <alain.volmat at foss.st.com>

Regards,
Alain

On Sun, May 07, 2023 at 06:26:04PM +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 sti drm 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>
> ---
>  drivers/gpu/drm/sti/sti_compositor.c | 5 ++---
>  drivers/gpu/drm/sti/sti_drv.c        | 6 ++----
>  drivers/gpu/drm/sti/sti_dvo.c        | 5 ++---
>  drivers/gpu/drm/sti/sti_hda.c        | 5 ++---
>  drivers/gpu/drm/sti/sti_hdmi.c       | 6 ++----
>  drivers/gpu/drm/sti/sti_hqvdp.c      | 5 ++---
>  drivers/gpu/drm/sti/sti_tvout.c      | 5 ++---
>  7 files changed, 14 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
> index 142a8e1b4436..33487a1fed8f 100644
> --- a/drivers/gpu/drm/sti/sti_compositor.c
> +++ b/drivers/gpu/drm/sti/sti_compositor.c
> @@ -258,10 +258,9 @@ static int sti_compositor_probe(struct platform_device *pdev)
>  	return component_add(&pdev->dev, &sti_compositor_ops);
>  }
>  
> -static int sti_compositor_remove(struct platform_device *pdev)
> +static void sti_compositor_remove(struct platform_device *pdev)
>  {
>  	component_del(&pdev->dev, &sti_compositor_ops);
> -	return 0;
>  }
>  
>  struct platform_driver sti_compositor_driver = {
> @@ -270,7 +269,7 @@ struct platform_driver sti_compositor_driver = {
>  		.of_match_table = compositor_of_match,
>  	},
>  	.probe = sti_compositor_probe,
> -	.remove = sti_compositor_remove,
> +	.remove_new = sti_compositor_remove,
>  };
>  
>  MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard at st.com>");
> diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c
> index ef6a4e63198f..451480041130 100644
> --- a/drivers/gpu/drm/sti/sti_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drv.c
> @@ -246,11 +246,9 @@ static int sti_platform_probe(struct platform_device *pdev)
>  	return component_master_add_with_match(dev, &sti_ops, match);
>  }
>  
> -static int sti_platform_remove(struct platform_device *pdev)
> +static void sti_platform_remove(struct platform_device *pdev)
>  {
>  	component_master_del(&pdev->dev, &sti_ops);
> -
> -	return 0;
>  }
>  
>  static const struct of_device_id sti_dt_ids[] = {
> @@ -261,7 +259,7 @@ MODULE_DEVICE_TABLE(of, sti_dt_ids);
>  
>  static struct platform_driver sti_platform_driver = {
>  	.probe = sti_platform_probe,
> -	.remove = sti_platform_remove,
> +	.remove_new = sti_platform_remove,
>  	.driver = {
>  		.name = DRIVER_NAME,
>  		.of_match_table = sti_dt_ids,
> diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
> index 577c477b5f46..0dca0048dd25 100644
> --- a/drivers/gpu/drm/sti/sti_dvo.c
> +++ b/drivers/gpu/drm/sti/sti_dvo.c
> @@ -567,10 +567,9 @@ static int sti_dvo_probe(struct platform_device *pdev)
>  	return component_add(&pdev->dev, &sti_dvo_ops);
>  }
>  
> -static int sti_dvo_remove(struct platform_device *pdev)
> +static void sti_dvo_remove(struct platform_device *pdev)
>  {
>  	component_del(&pdev->dev, &sti_dvo_ops);
> -	return 0;
>  }
>  
>  static const struct of_device_id dvo_of_match[] = {
> @@ -586,7 +585,7 @@ struct platform_driver sti_dvo_driver = {
>  		.of_match_table = dvo_of_match,
>  	},
>  	.probe = sti_dvo_probe,
> -	.remove = sti_dvo_remove,
> +	.remove_new = sti_dvo_remove,
>  };
>  
>  MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard at st.com>");
> diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
> index 15097ac67931..6ee35612a14e 100644
> --- a/drivers/gpu/drm/sti/sti_hda.c
> +++ b/drivers/gpu/drm/sti/sti_hda.c
> @@ -792,10 +792,9 @@ static int sti_hda_probe(struct platform_device *pdev)
>  	return component_add(&pdev->dev, &sti_hda_ops);
>  }
>  
> -static int sti_hda_remove(struct platform_device *pdev)
> +static void sti_hda_remove(struct platform_device *pdev)
>  {
>  	component_del(&pdev->dev, &sti_hda_ops);
> -	return 0;
>  }
>  
>  static const struct of_device_id hda_of_match[] = {
> @@ -812,7 +811,7 @@ struct platform_driver sti_hda_driver = {
>  		.of_match_table = hda_of_match,
>  	},
>  	.probe = sti_hda_probe,
> -	.remove = sti_hda_remove,
> +	.remove_new = sti_hda_remove,
>  };
>  
>  MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard at st.com>");
> diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
> index 8539fe1fedc4..3d8ddceca845 100644
> --- a/drivers/gpu/drm/sti/sti_hdmi.c
> +++ b/drivers/gpu/drm/sti/sti_hdmi.c
> @@ -1471,7 +1471,7 @@ static int sti_hdmi_probe(struct platform_device *pdev)
>  	return ret;
>  }
>  
> -static int sti_hdmi_remove(struct platform_device *pdev)
> +static void sti_hdmi_remove(struct platform_device *pdev)
>  {
>  	struct sti_hdmi *hdmi = dev_get_drvdata(&pdev->dev);
>  
> @@ -1479,8 +1479,6 @@ static int sti_hdmi_remove(struct platform_device *pdev)
>  	if (hdmi->audio_pdev)
>  		platform_device_unregister(hdmi->audio_pdev);
>  	component_del(&pdev->dev, &sti_hdmi_ops);
> -
> -	return 0;
>  }
>  
>  struct platform_driver sti_hdmi_driver = {
> @@ -1490,7 +1488,7 @@ struct platform_driver sti_hdmi_driver = {
>  		.of_match_table = hdmi_of_match,
>  	},
>  	.probe = sti_hdmi_probe,
> -	.remove = sti_hdmi_remove,
> +	.remove_new = sti_hdmi_remove,
>  };
>  
>  MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard at st.com>");
> diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
> index 02b77279f6e4..0fb48ac044d8 100644
> --- a/drivers/gpu/drm/sti/sti_hqvdp.c
> +++ b/drivers/gpu/drm/sti/sti_hqvdp.c
> @@ -1400,10 +1400,9 @@ static int sti_hqvdp_probe(struct platform_device *pdev)
>  	return component_add(&pdev->dev, &sti_hqvdp_ops);
>  }
>  
> -static int sti_hqvdp_remove(struct platform_device *pdev)
> +static void sti_hqvdp_remove(struct platform_device *pdev)
>  {
>  	component_del(&pdev->dev, &sti_hqvdp_ops);
> -	return 0;
>  }
>  
>  static const struct of_device_id hqvdp_of_match[] = {
> @@ -1419,7 +1418,7 @@ struct platform_driver sti_hqvdp_driver = {
>  		.of_match_table = hqvdp_of_match,
>  	},
>  	.probe = sti_hqvdp_probe,
> -	.remove = sti_hqvdp_remove,
> +	.remove_new = sti_hqvdp_remove,
>  };
>  
>  MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard at st.com>");
> diff --git a/drivers/gpu/drm/sti/sti_tvout.c b/drivers/gpu/drm/sti/sti_tvout.c
> index 2499715a69b7..64615638b79a 100644
> --- a/drivers/gpu/drm/sti/sti_tvout.c
> +++ b/drivers/gpu/drm/sti/sti_tvout.c
> @@ -872,10 +872,9 @@ static int sti_tvout_probe(struct platform_device *pdev)
>  	return component_add(dev, &sti_tvout_ops);
>  }
>  
> -static int sti_tvout_remove(struct platform_device *pdev)
> +static void sti_tvout_remove(struct platform_device *pdev)
>  {
>  	component_del(&pdev->dev, &sti_tvout_ops);
> -	return 0;
>  }
>  
>  static const struct of_device_id tvout_of_match[] = {
> @@ -891,7 +890,7 @@ struct platform_driver sti_tvout_driver = {
>  		.of_match_table = tvout_of_match,
>  	},
>  	.probe = sti_tvout_probe,
> -	.remove = sti_tvout_remove,
> +	.remove_new = sti_tvout_remove,
>  };
>  
>  MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard at st.com>");
> -- 
> 2.39.2
> 


More information about the dri-devel mailing list