Hi Uwe,

Thank you for the patch.

On Sun, May 07, 2023 at 06:26:00PM +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 rcar-du drm driver from always returning zero in
> the remove callback to the void returning variant.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de>

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_cmm.c       | 6 ++----
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c    | 6 ++----
>  drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c   | 6 ++----
>  drivers/gpu/drm/rcar-du/rcar_lvds.c      | 6 ++----
>  drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c  | 6 ++----
>  drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 6 ++----
>  6 files changed, 12 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_cmm.c 
> b/drivers/gpu/drm/rcar-du/rcar_cmm.c
> index e2a67dda4658..26a2f5ad8ee5 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_cmm.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_cmm.c
> @@ -187,11 +187,9 @@ static int rcar_cmm_probe(struct platform_device *pdev)
>       return 0;
>  }
>  
> -static int rcar_cmm_remove(struct platform_device *pdev)
> +static void rcar_cmm_remove(struct platform_device *pdev)
>  {
>       pm_runtime_disable(&pdev->dev);
> -
> -     return 0;
>  }
>  
>  static const struct of_device_id rcar_cmm_of_table[] = {
> @@ -203,7 +201,7 @@ MODULE_DEVICE_TABLE(of, rcar_cmm_of_table);
>  
>  static struct platform_driver rcar_cmm_platform_driver = {
>       .probe          = rcar_cmm_probe,
> -     .remove         = rcar_cmm_remove,
> +     .remove_new     = rcar_cmm_remove,
>       .driver         = {
>               .name   = "rcar-cmm",
>               .of_match_table = rcar_cmm_of_table,
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c 
> b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index b9a94c5260e9..4a6bf50b5c49 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -685,7 +685,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(rcar_du_pm_ops,
>   * Platform driver
>   */
>  
> -static int rcar_du_remove(struct platform_device *pdev)
> +static void rcar_du_remove(struct platform_device *pdev)
>  {
>       struct rcar_du_device *rcdu = platform_get_drvdata(pdev);
>       struct drm_device *ddev = &rcdu->ddev;
> @@ -694,8 +694,6 @@ static int rcar_du_remove(struct platform_device *pdev)
>       drm_atomic_helper_shutdown(ddev);
>  
>       drm_kms_helper_poll_fini(ddev);
> -
> -     return 0;
>  }
>  
>  static void rcar_du_shutdown(struct platform_device *pdev)
> @@ -776,7 +774,7 @@ static int rcar_du_probe(struct platform_device *pdev)
>  
>  static struct platform_driver rcar_du_platform_driver = {
>       .probe          = rcar_du_probe,
> -     .remove         = rcar_du_remove,
> +     .remove_new     = rcar_du_remove,
>       .shutdown       = rcar_du_shutdown,
>       .driver         = {
>               .name   = "rcar-du",
> diff --git a/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c 
> b/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
> index 18ed14911b98..119d69d20b23 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
> @@ -93,13 +93,11 @@ static int rcar_dw_hdmi_probe(struct platform_device 
> *pdev)
>       return 0;
>  }
>  
> -static int rcar_dw_hdmi_remove(struct platform_device *pdev)
> +static void rcar_dw_hdmi_remove(struct platform_device *pdev)
>  {
>       struct dw_hdmi *hdmi = platform_get_drvdata(pdev);
>  
>       dw_hdmi_remove(hdmi);
> -
> -     return 0;
>  }
>  
>  static const struct of_device_id rcar_dw_hdmi_of_table[] = {
> @@ -110,7 +108,7 @@ MODULE_DEVICE_TABLE(of, rcar_dw_hdmi_of_table);
>  
>  static struct platform_driver rcar_dw_hdmi_platform_driver = {
>       .probe          = rcar_dw_hdmi_probe,
> -     .remove         = rcar_dw_hdmi_remove,
> +     .remove_new     = rcar_dw_hdmi_remove,
>       .driver         = {
>               .name   = "rcar-dw-hdmi",
>               .of_match_table = rcar_dw_hdmi_of_table,
> diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c 
> b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> index 260ea5d8624e..86d2ac204568 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> @@ -890,15 +890,13 @@ static int rcar_lvds_probe(struct platform_device *pdev)
>       return 0;
>  }
>  
> -static int rcar_lvds_remove(struct platform_device *pdev)
> +static void rcar_lvds_remove(struct platform_device *pdev)
>  {
>       struct rcar_lvds *lvds = platform_get_drvdata(pdev);
>  
>       drm_bridge_remove(&lvds->bridge);
>  
>       pm_runtime_disable(&pdev->dev);
> -
> -     return 0;
>  }
>  
>  static const struct rcar_lvds_device_info rcar_lvds_gen2_info = {
> @@ -994,7 +992,7 @@ static const struct dev_pm_ops rcar_lvds_pm_ops = {
>  
>  static struct platform_driver rcar_lvds_platform_driver = {
>       .probe          = rcar_lvds_probe,
> -     .remove         = rcar_lvds_remove,
> +     .remove_new     = rcar_lvds_remove,
>       .driver         = {
>               .name   = "rcar-lvds",
>               .pm     = &rcar_lvds_pm_ops,
> diff --git a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c 
> b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> index e10e4d4b89a2..305123a671c6 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> @@ -1044,13 +1044,11 @@ static int rcar_mipi_dsi_probe(struct platform_device 
> *pdev)
>       return 0;
>  }
>  
> -static int rcar_mipi_dsi_remove(struct platform_device *pdev)
> +static void rcar_mipi_dsi_remove(struct platform_device *pdev)
>  {
>       struct rcar_mipi_dsi *dsi = platform_get_drvdata(pdev);
>  
>       mipi_dsi_host_unregister(&dsi->host);
> -
> -     return 0;
>  }
>  
>  static const struct rcar_mipi_dsi_device_info v3u_data = {
> @@ -1093,7 +1091,7 @@ MODULE_DEVICE_TABLE(of, rcar_mipi_dsi_of_table);
>  
>  static struct platform_driver rcar_mipi_dsi_platform_driver = {
>       .probe          = rcar_mipi_dsi_probe,
> -     .remove         = rcar_mipi_dsi_remove,
> +     .remove_new     = rcar_mipi_dsi_remove,
>       .driver         = {
>               .name   = "rcar-mipi-dsi",
>               .of_match_table = rcar_mipi_dsi_of_table,
> diff --git a/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c 
> b/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c
> index aa95b85a2964..a97fc4c5d1c8 100644
> --- a/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c
> +++ b/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c
> @@ -782,14 +782,12 @@ static int rzg2l_mipi_dsi_probe(struct platform_device 
> *pdev)
>       return ret;
>  }
>  
> -static int rzg2l_mipi_dsi_remove(struct platform_device *pdev)
> +static void rzg2l_mipi_dsi_remove(struct platform_device *pdev)
>  {
>       struct rzg2l_mipi_dsi *dsi = platform_get_drvdata(pdev);
>  
>       mipi_dsi_host_unregister(&dsi->host);
>       pm_runtime_disable(&pdev->dev);
> -
> -     return 0;
>  }
>  
>  static const struct of_device_id rzg2l_mipi_dsi_of_table[] = {
> @@ -801,7 +799,7 @@ MODULE_DEVICE_TABLE(of, rzg2l_mipi_dsi_of_table);
>  
>  static struct platform_driver rzg2l_mipi_dsi_platform_driver = {
>       .probe  = rzg2l_mipi_dsi_probe,
> -     .remove = rzg2l_mipi_dsi_remove,
> +     .remove_new = rzg2l_mipi_dsi_remove,
>       .driver = {
>               .name = "rzg2l-mipi-dsi",
>               .pm = &rzg2l_mipi_pm_ops,
> -- 
> 2.39.2
> 

-- 
Regards,

Laurent Pinchart

Reply via email to