drm/sun4i: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 7 May 2023 16:26:06 +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 sun4i 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>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230507162616.1368908-44-u.kleine-koenig@pengutronix.de
drivers/gpu/drm/sun4i/sun4i_backend.c
drivers/gpu/drm/sun4i/sun4i_drv.c
drivers/gpu/drm/sun4i/sun4i_frontend.c
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
drivers/gpu/drm/sun4i/sun4i_tcon.c
drivers/gpu/drm/sun4i/sun4i_tv.c
drivers/gpu/drm/sun4i/sun6i_drc.c
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
drivers/gpu/drm/sun4i/sun8i_mixer.c
drivers/gpu/drm/sun4i/sun8i_tcon_top.c

index b11dbd5..335fd0e 100644 (file)
@@ -965,11 +965,9 @@ static int sun4i_backend_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun4i_backend_ops);
 }
 
-static int sun4i_backend_remove(struct platform_device *pdev)
+static void sun4i_backend_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun4i_backend_ops);
-
-       return 0;
 }
 
 static const struct sun4i_backend_quirks sun4i_backend_quirks = {
@@ -1028,7 +1026,7 @@ MODULE_DEVICE_TABLE(of, sun4i_backend_of_table);
 
 static struct platform_driver sun4i_backend_platform_driver = {
        .probe          = sun4i_backend_probe,
-       .remove         = sun4i_backend_remove,
+       .remove_new     = sun4i_backend_remove,
        .driver         = {
                .name           = "sun4i-backend",
                .of_match_table = sun4i_backend_of_table,
index daa7faf..6a8dfc0 100644 (file)
@@ -408,11 +408,9 @@ static int sun4i_drv_probe(struct platform_device *pdev)
                return 0;
 }
 
-static int sun4i_drv_remove(struct platform_device *pdev)
+static void sun4i_drv_remove(struct platform_device *pdev)
 {
        component_master_del(&pdev->dev, &sun4i_drv_master_ops);
-
-       return 0;
 }
 
 static const struct of_device_id sun4i_drv_of_table[] = {
@@ -438,7 +436,7 @@ MODULE_DEVICE_TABLE(of, sun4i_drv_of_table);
 
 static struct platform_driver sun4i_drv_platform_driver = {
        .probe          = sun4i_drv_probe,
-       .remove         = sun4i_drv_remove,
+       .remove_new     = sun4i_drv_remove,
        .driver         = {
                .name           = "sun4i-drm",
                .of_match_table = sun4i_drv_of_table,
index 799ab74..3872c91 100644 (file)
@@ -634,11 +634,9 @@ static int sun4i_frontend_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun4i_frontend_ops);
 }
 
-static int sun4i_frontend_remove(struct platform_device *pdev)
+static void sun4i_frontend_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun4i_frontend_ops);
-
-       return 0;
 }
 
 static int sun4i_frontend_runtime_resume(struct device *dev)
@@ -719,7 +717,7 @@ MODULE_DEVICE_TABLE(of, sun4i_frontend_of_table);
 
 static struct platform_driver sun4i_frontend_driver = {
        .probe          = sun4i_frontend_probe,
-       .remove         = sun4i_frontend_remove,
+       .remove_new     = sun4i_frontend_remove,
        .driver         = {
                .name           = "sun4i-frontend",
                .of_match_table = sun4i_frontend_of_table,
index c0df5e8..c139e12 100644 (file)
@@ -693,11 +693,9 @@ static int sun4i_hdmi_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun4i_hdmi_ops);
 }
 
-static int sun4i_hdmi_remove(struct platform_device *pdev)
+static void sun4i_hdmi_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun4i_hdmi_ops);
-
-       return 0;
 }
 
 static const struct of_device_id sun4i_hdmi_of_table[] = {
@@ -710,7 +708,7 @@ MODULE_DEVICE_TABLE(of, sun4i_hdmi_of_table);
 
 static struct platform_driver sun4i_hdmi_driver = {
        .probe          = sun4i_hdmi_probe,
-       .remove         = sun4i_hdmi_remove,
+       .remove_new     = sun4i_hdmi_remove,
        .driver         = {
                .name           = "sun4i-hdmi",
                .of_match_table = sun4i_hdmi_of_table,
index 6a52fb1..b07ccee 100644 (file)
@@ -1331,11 +1331,9 @@ static int sun4i_tcon_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun4i_tcon_ops);
 }
 
-static int sun4i_tcon_remove(struct platform_device *pdev)
+static void sun4i_tcon_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun4i_tcon_ops);
-
-       return 0;
 }
 
 /* platform specific TCON muxing callbacks */
@@ -1570,7 +1568,7 @@ EXPORT_SYMBOL(sun4i_tcon_of_table);
 
 static struct platform_driver sun4i_tcon_platform_driver = {
        .probe          = sun4i_tcon_probe,
-       .remove         = sun4i_tcon_remove,
+       .remove_new     = sun4i_tcon_remove,
        .driver         = {
                .name           = "sun4i-tcon",
                .of_match_table = sun4i_tcon_of_table,
index 9625a00..ec65d9d 100644 (file)
@@ -546,11 +546,9 @@ static int sun4i_tv_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun4i_tv_ops);
 }
 
-static int sun4i_tv_remove(struct platform_device *pdev)
+static void sun4i_tv_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun4i_tv_ops);
-
-       return 0;
 }
 
 static const struct of_device_id sun4i_tv_of_table[] = {
@@ -561,7 +559,7 @@ MODULE_DEVICE_TABLE(of, sun4i_tv_of_table);
 
 static struct platform_driver sun4i_tv_platform_driver = {
        .probe          = sun4i_tv_probe,
-       .remove         = sun4i_tv_remove,
+       .remove_new     = sun4i_tv_remove,
        .driver         = {
                .name           = "sun4i-tve",
                .of_match_table = sun4i_tv_of_table,
index 4fbe9a6..0d342f4 100644 (file)
@@ -95,11 +95,9 @@ static int sun6i_drc_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun6i_drc_ops);
 }
 
-static int sun6i_drc_remove(struct platform_device *pdev)
+static void sun6i_drc_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun6i_drc_ops);
-
-       return 0;
 }
 
 static const struct of_device_id sun6i_drc_of_table[] = {
@@ -114,7 +112,7 @@ MODULE_DEVICE_TABLE(of, sun6i_drc_of_table);
 
 static struct platform_driver sun6i_drc_platform_driver = {
        .probe          = sun6i_drc_probe,
-       .remove         = sun6i_drc_remove,
+       .remove_new     = sun6i_drc_remove,
        .driver         = {
                .name           = "sun6i-drc",
                .of_match_table = sun6i_drc_of_table,
index 760ff05..4abf4f1 100644 (file)
@@ -1200,7 +1200,7 @@ err_attach_clk:
        return ret;
 }
 
-static int sun6i_dsi_remove(struct platform_device *pdev)
+static void sun6i_dsi_remove(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct sun6i_dsi *dsi = dev_get_drvdata(dev);
@@ -1211,8 +1211,6 @@ static int sun6i_dsi_remove(struct platform_device *pdev)
                clk_rate_exclusive_put(dsi->mod_clk);
 
        regmap_mmio_detach_clk(dsi->regs);
-
-       return 0;
 }
 
 static const struct sun6i_dsi_variant sun6i_a31_mipi_dsi_variant = {
@@ -1246,7 +1244,7 @@ MODULE_DEVICE_TABLE(of, sun6i_dsi_of_table);
 
 static struct platform_driver sun6i_dsi_platform_driver = {
        .probe          = sun6i_dsi_probe,
-       .remove         = sun6i_dsi_remove,
+       .remove_new     = sun6i_dsi_remove,
        .driver         = {
                .name           = "sun6i-mipi-dsi",
                .of_match_table = sun6i_dsi_of_table,
index 7cab421..26dd8f0 100644 (file)
@@ -235,11 +235,9 @@ static int sun8i_dw_hdmi_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun8i_dw_hdmi_ops);
 }
 
-static int sun8i_dw_hdmi_remove(struct platform_device *pdev)
+static void sun8i_dw_hdmi_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun8i_dw_hdmi_ops);
-
-       return 0;
 }
 
 static const struct sun8i_dw_hdmi_quirks sun8i_a83t_quirks = {
@@ -266,7 +264,7 @@ MODULE_DEVICE_TABLE(of, sun8i_dw_hdmi_dt_ids);
 
 static struct platform_driver sun8i_dw_hdmi_pltfm_driver = {
        .probe  = sun8i_dw_hdmi_probe,
-       .remove = sun8i_dw_hdmi_remove,
+       .remove_new = sun8i_dw_hdmi_remove,
        .driver = {
                .name = "sun8i-dw-hdmi",
                .of_match_table = sun8i_dw_hdmi_dt_ids,
index 11d5244..07a6381 100644 (file)
@@ -555,11 +555,9 @@ static int sun8i_mixer_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun8i_mixer_ops);
 }
 
-static int sun8i_mixer_remove(struct platform_device *pdev)
+static void sun8i_mixer_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun8i_mixer_ops);
-
-       return 0;
 }
 
 static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = {
@@ -711,7 +709,7 @@ MODULE_DEVICE_TABLE(of, sun8i_mixer_of_table);
 
 static struct platform_driver sun8i_mixer_platform_driver = {
        .probe          = sun8i_mixer_probe,
-       .remove         = sun8i_mixer_remove,
+       .remove_new     = sun8i_mixer_remove,
        .driver         = {
                .name           = "sun8i-mixer",
                .of_match_table = sun8i_mixer_of_table,
index da97682..2e8dd77 100644 (file)
@@ -261,11 +261,9 @@ static int sun8i_tcon_top_probe(struct platform_device *pdev)
        return component_add(&pdev->dev, &sun8i_tcon_top_ops);
 }
 
-static int sun8i_tcon_top_remove(struct platform_device *pdev)
+static void sun8i_tcon_top_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &sun8i_tcon_top_ops);
-
-       return 0;
 }
 
 static const struct sun8i_tcon_top_quirks sun8i_r40_tcon_top_quirks = {
@@ -302,7 +300,7 @@ EXPORT_SYMBOL(sun8i_tcon_top_of_table);
 
 static struct platform_driver sun8i_tcon_top_platform_driver = {
        .probe          = sun8i_tcon_top_probe,
-       .remove         = sun8i_tcon_top_remove,
+       .remove_new     = sun8i_tcon_top_remove,
        .driver         = {
                .name           = "sun8i-tcon-top",
                .of_match_table = sun8i_tcon_top_of_table,