drm/vc4: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 7 May 2023 16:26:15 +0000 (18:26 +0200)
committerDouglas Anderson <dianders@chromium.org>
Thu, 8 Jun 2023 16:04:13 +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 vc4 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>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230507162616.1368908-53-u.kleine-koenig@pengutronix.de
drivers/gpu/drm/vc4/vc4_crtc.c
drivers/gpu/drm/vc4/vc4_dpi.c
drivers/gpu/drm/vc4/vc4_drv.c
drivers/gpu/drm/vc4/vc4_dsi.c
drivers/gpu/drm/vc4/vc4_hdmi.c
drivers/gpu/drm/vc4/vc4_hvs.c
drivers/gpu/drm/vc4/vc4_txp.c
drivers/gpu/drm/vc4/vc4_v3d.c
drivers/gpu/drm/vc4/vc4_vec.c

index bef9d45ef1df6c6a344de7232ba1f6e6c7b175cd..7610e841ef3c375edb657d4068553e98da9801e0 100644 (file)
@@ -1450,15 +1450,14 @@ static int vc4_crtc_dev_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_crtc_ops);
 }
 
-static int vc4_crtc_dev_remove(struct platform_device *pdev)
+static void vc4_crtc_dev_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_crtc_ops);
-       return 0;
 }
 
 struct platform_driver vc4_crtc_driver = {
        .probe = vc4_crtc_dev_probe,
-       .remove = vc4_crtc_dev_remove,
+       .remove_new = vc4_crtc_dev_remove,
        .driver = {
                .name = "vc4_crtc",
                .of_match_table = vc4_crtc_dt_match,
index e68c07d86040d940f4cd0b0f17a748db8477ed04..366c28ae23960ba75ed67ad805ce730061c7da16 100644 (file)
@@ -388,15 +388,14 @@ static int vc4_dpi_dev_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_dpi_ops);
 }
 
-static int vc4_dpi_dev_remove(struct platform_device *pdev)
+static void vc4_dpi_dev_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_dpi_ops);
-       return 0;
 }
 
 struct platform_driver vc4_dpi_driver = {
        .probe = vc4_dpi_dev_probe,
-       .remove = vc4_dpi_dev_remove,
+       .remove_new = vc4_dpi_dev_remove,
        .driver = {
                .name = "vc4_dpi",
                .of_match_table = vc4_dpi_dt_match,
index 823395c23cc308fac53ce61147a452e39bc03c4c..c520cc93d3322ff3b8b135a46ed784481c00208a 100644 (file)
@@ -439,11 +439,9 @@ static int vc4_platform_drm_probe(struct platform_device *pdev)
        return component_master_add_with_match(dev, &vc4_drm_ops, match);
 }
 
-static int vc4_platform_drm_remove(struct platform_device *pdev)
+static void vc4_platform_drm_remove(struct platform_device *pdev)
 {
        component_master_del(&pdev->dev, &vc4_drm_ops);
-
-       return 0;
 }
 
 static const struct of_device_id vc4_of_match[] = {
@@ -456,7 +454,7 @@ MODULE_DEVICE_TABLE(of, vc4_of_match);
 
 static struct platform_driver vc4_platform_driver = {
        .probe          = vc4_platform_drm_probe,
-       .remove         = vc4_platform_drm_remove,
+       .remove_new     = vc4_platform_drm_remove,
        .driver         = {
                .name   = "vc4-drm",
                .of_match_table = vc4_of_match,
index 9e0c355b236f521854d699407d61029e41594f1b..5011fe0fef87c7b4de3745e3749d0d955d5140dc 100644 (file)
@@ -1825,20 +1825,18 @@ static int vc4_dsi_dev_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int vc4_dsi_dev_remove(struct platform_device *pdev)
+static void vc4_dsi_dev_remove(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct vc4_dsi *dsi = dev_get_drvdata(dev);
 
        mipi_dsi_host_unregister(&dsi->dsi_host);
        vc4_dsi_put(dsi);
-
-       return 0;
 }
 
 struct platform_driver vc4_dsi_driver = {
        .probe = vc4_dsi_dev_probe,
-       .remove = vc4_dsi_dev_remove,
+       .remove_new = vc4_dsi_dev_remove,
        .driver = {
                .name = "vc4_dsi",
                .of_match_table = vc4_dsi_dt_match,
index 6da41ea1250ab6ec6d37e8780976b057132976a5..1e55576089376e623effa0e04a7d89c630d62d13 100644 (file)
@@ -3770,10 +3770,9 @@ static int vc4_hdmi_dev_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_hdmi_ops);
 }
 
-static int vc4_hdmi_dev_remove(struct platform_device *pdev)
+static void vc4_hdmi_dev_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_hdmi_ops);
-       return 0;
 }
 
 static const struct vc4_hdmi_variant bcm2835_variant = {
@@ -3869,7 +3868,7 @@ static const struct dev_pm_ops vc4_hdmi_pm_ops = {
 
 struct platform_driver vc4_hdmi_driver = {
        .probe = vc4_hdmi_dev_probe,
-       .remove = vc4_hdmi_dev_remove,
+       .remove_new = vc4_hdmi_dev_remove,
        .driver = {
                .name = "vc4_hdmi",
                .of_match_table = vc4_hdmi_dt_match,
index 4da66ef9678354ffa6645a035efa5a8fc0f4ddac..04af672caacb1b4c869a953f9d25d3ed7c8e7b9e 100644 (file)
@@ -1061,10 +1061,9 @@ static int vc4_hvs_dev_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_hvs_ops);
 }
 
-static int vc4_hvs_dev_remove(struct platform_device *pdev)
+static void vc4_hvs_dev_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_hvs_ops);
-       return 0;
 }
 
 static const struct of_device_id vc4_hvs_dt_match[] = {
@@ -1075,7 +1074,7 @@ static const struct of_device_id vc4_hvs_dt_match[] = {
 
 struct platform_driver vc4_hvs_driver = {
        .probe = vc4_hvs_dev_probe,
-       .remove = vc4_hvs_dev_remove,
+       .remove_new = vc4_hvs_dev_remove,
        .driver = {
                .name = "vc4_hvs",
                .of_match_table = vc4_hvs_dt_match,
index c5abdec0310399e0cc40285ef911f0dd3d5acc5e..6cdd97f364a8036f7d6c493af861a508221d7d94 100644 (file)
@@ -573,10 +573,9 @@ static int vc4_txp_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_txp_ops);
 }
 
-static int vc4_txp_remove(struct platform_device *pdev)
+static void vc4_txp_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_txp_ops);
-       return 0;
 }
 
 static const struct of_device_id vc4_txp_dt_match[] = {
@@ -586,7 +585,7 @@ static const struct of_device_id vc4_txp_dt_match[] = {
 
 struct platform_driver vc4_txp_driver = {
        .probe = vc4_txp_probe,
-       .remove = vc4_txp_remove,
+       .remove_new = vc4_txp_remove,
        .driver = {
                .name = "vc4_txp",
                .of_match_table = vc4_txp_dt_match,
index 29a664c8bf44a1ebb86aa60b1382dbb33c4230d1..04ac7805e6d5fe3d218460039f5d336f79b33e40 100644 (file)
@@ -532,10 +532,9 @@ static int vc4_v3d_dev_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_v3d_ops);
 }
 
-static int vc4_v3d_dev_remove(struct platform_device *pdev)
+static void vc4_v3d_dev_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_v3d_ops);
-       return 0;
 }
 
 const struct of_device_id vc4_v3d_dt_match[] = {
@@ -547,7 +546,7 @@ const struct of_device_id vc4_v3d_dt_match[] = {
 
 struct platform_driver vc4_v3d_driver = {
        .probe = vc4_v3d_dev_probe,
-       .remove = vc4_v3d_dev_remove,
+       .remove_new = vc4_v3d_dev_remove,
        .driver = {
                .name = "vc4_v3d",
                .of_match_table = vc4_v3d_dt_match,
index d6e6a1a22eba78d4a2e2313957435f434e68dd3a..725531d030a1a1c70b75453b16c40f801240b47b 100644 (file)
@@ -812,15 +812,14 @@ static int vc4_vec_dev_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &vc4_vec_ops);
 }
 
-static int vc4_vec_dev_remove(struct platform_device *pdev)
+static void vc4_vec_dev_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &vc4_vec_ops);
-       return 0;
 }
 
 struct platform_driver vc4_vec_driver = {
        .probe = vc4_vec_dev_probe,
-       .remove = vc4_vec_dev_remove,
+       .remove_new = vc4_vec_dev_remove,
        .driver = {
                .name = "vc4_vec",
                .of_match_table = vc4_vec_dt_match,