drm/sti: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 7 May 2023 16:26:04 +0000 (18:26 +0200)
committerDouglas Anderson <dianders@chromium.org>
Thu, 8 Jun 2023 16:04:12 +0000 (09:04 -0700)
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@pengutronix.de>
Acked-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230507162616.1368908-42-u.kleine-koenig@pengutronix.de
drivers/gpu/drm/sti/sti_compositor.c
drivers/gpu/drm/sti/sti_drv.c
drivers/gpu/drm/sti/sti_dvo.c
drivers/gpu/drm/sti/sti_hda.c
drivers/gpu/drm/sti/sti_hdmi.c
drivers/gpu/drm/sti/sti_hqvdp.c
drivers/gpu/drm/sti/sti_tvout.c

index 142a8e1..33487a1 100644 (file)
@@ -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@st.com>");
index 1b87b58..346c151 100644 (file)
@@ -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,
index 0c6679e..fd1df4c 100644 (file)
@@ -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@st.com>");
index 15097ac..6ee3561 100644 (file)
@@ -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@st.com>");
index dc1562f..500936d 100644 (file)
@@ -1472,7 +1472,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);
 
@@ -1480,8 +1480,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 = {
@@ -1491,7 +1489,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@st.com>");
index 02b7727..0fb48ac 100644 (file)
@@ -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@st.com>");
index 2499715..6461563 100644 (file)
@@ -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@st.com>");