drm/mediatek: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 1 Aug 2023 11:02:34 +0000 (13:02 +0200)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 10 Aug 2023 23:41:55 +0000 (23:41 +0000)
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 mediatek drm drivers from always returning zero in
the remove callback to the void returning variant.

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20230801110239.831099-8-u.kleine-koenig@pengutronix.de/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
14 files changed:
drivers/gpu/drm/mediatek/mtk_cec.c
drivers/gpu/drm/mediatek/mtk_disp_aal.c
drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
drivers/gpu/drm/mediatek/mtk_disp_color.c
drivers/gpu/drm/mediatek/mtk_disp_gamma.c
drivers/gpu/drm/mediatek/mtk_disp_merge.c
drivers/gpu/drm/mediatek/mtk_disp_ovl.c
drivers/gpu/drm/mediatek/mtk_disp_rdma.c
drivers/gpu/drm/mediatek/mtk_dp.c
drivers/gpu/drm/mediatek/mtk_drm_drv.c
drivers/gpu/drm/mediatek/mtk_dsi.c
drivers/gpu/drm/mediatek/mtk_hdmi.c
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
drivers/gpu/drm/mediatek/mtk_mdp_rdma.c

index b640bc0559e7f052ae799734a6564680cb9d16f2..f47f417d8ba673b4d407c311d0079acb5f9c7d74 100644 (file)
@@ -235,13 +235,12 @@ static int mtk_cec_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int mtk_cec_remove(struct platform_device *pdev)
+static void mtk_cec_remove(struct platform_device *pdev)
 {
        struct mtk_cec *cec = platform_get_drvdata(pdev);
 
        mtk_cec_htplg_irq_disable(cec);
        clk_disable_unprepare(cec->clk);
-       return 0;
 }
 
 static const struct of_device_id mtk_cec_of_ids[] = {
@@ -252,7 +251,7 @@ MODULE_DEVICE_TABLE(of, mtk_cec_of_ids);
 
 struct platform_driver mtk_cec_driver = {
        .probe = mtk_cec_probe,
-       .remove = mtk_cec_remove,
+       .remove_new = mtk_cec_remove,
        .driver = {
                .name = "mediatek-cec",
                .of_match_table = mtk_cec_of_ids,
index 434e8a9ce8ab768278ab493f57a8df1d57c715b0..cbd9b4becc4317be76f32afe488ce0eee87f864f 100644 (file)
@@ -140,11 +140,9 @@ static int mtk_disp_aal_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_aal_remove(struct platform_device *pdev)
+static void mtk_disp_aal_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_aal_component_ops);
-
-       return 0;
 }
 
 static const struct mtk_disp_aal_data mt8173_aal_driver_data = {
@@ -161,7 +159,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_aal_driver_dt_match);
 
 struct platform_driver mtk_disp_aal_driver = {
        .probe          = mtk_disp_aal_probe,
-       .remove         = mtk_disp_aal_remove,
+       .remove_new     = mtk_disp_aal_remove,
        .driver         = {
                .name   = "mediatek-disp-aal",
                .owner  = THIS_MODULE,
index 1773379b243980eb1bfcaedc329ef2e613801d03..fa6dbc4e9c35c100520ffa36c78dec7010ac03ac 100644 (file)
@@ -195,11 +195,9 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_ccorr_remove(struct platform_device *pdev)
+static void mtk_disp_ccorr_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_ccorr_component_ops);
-
-       return 0;
 }
 
 static const struct mtk_disp_ccorr_data mt8183_ccorr_driver_data = {
@@ -221,7 +219,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_ccorr_driver_dt_match);
 
 struct platform_driver mtk_disp_ccorr_driver = {
        .probe          = mtk_disp_ccorr_probe,
-       .remove         = mtk_disp_ccorr_remove,
+       .remove_new     = mtk_disp_ccorr_remove,
        .driver         = {
                .name   = "mediatek-disp-ccorr",
                .owner  = THIS_MODULE,
index cac9206079e7161259e23e3fa3fbf1badf4c1f0a..78e44e6befd62de46750f3896a72568edc89214e 100644 (file)
@@ -132,11 +132,9 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_color_remove(struct platform_device *pdev)
+static void mtk_disp_color_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_color_component_ops);
-
-       return 0;
 }
 
 static const struct mtk_disp_color_data mt2701_color_driver_data = {
@@ -164,7 +162,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_color_driver_dt_match);
 
 struct platform_driver mtk_disp_color_driver = {
        .probe          = mtk_disp_color_probe,
-       .remove         = mtk_disp_color_remove,
+       .remove_new     = mtk_disp_color_remove,
        .driver         = {
                .name   = "mediatek-disp-color",
                .owner  = THIS_MODULE,
index c844942603f7e4d50c6a4b2b67dac21cbd95e16a..c5237f4eb7fe1f00ba058b3065430dfc001c7df0 100644 (file)
@@ -183,11 +183,9 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_gamma_remove(struct platform_device *pdev)
+static void mtk_disp_gamma_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_gamma_component_ops);
-
-       return 0;
 }
 
 static const struct mtk_disp_gamma_data mt8173_gamma_driver_data = {
@@ -209,7 +207,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_gamma_driver_dt_match);
 
 struct platform_driver mtk_disp_gamma_driver = {
        .probe          = mtk_disp_gamma_probe,
-       .remove         = mtk_disp_gamma_remove,
+       .remove_new     = mtk_disp_gamma_remove,
        .driver         = {
                .name   = "mediatek-disp-gamma",
                .owner  = THIS_MODULE,
index 6428b6203ffe8c2bb44cf95068fa61bc924b700e..fd14a59bc9516e915e99c2e28c179c890a1e4ac5 100644 (file)
@@ -295,11 +295,9 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_merge_remove(struct platform_device *pdev)
+static void mtk_disp_merge_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_merge_component_ops);
-
-       return 0;
 }
 
 static const struct of_device_id mtk_disp_merge_driver_dt_match[] = {
@@ -311,7 +309,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_merge_driver_dt_match);
 
 struct platform_driver mtk_disp_merge_driver = {
        .probe = mtk_disp_merge_probe,
-       .remove = mtk_disp_merge_remove,
+       .remove_new = mtk_disp_merge_remove,
        .driver = {
                .name = "mediatek-disp-merge",
                .owner = THIS_MODULE,
index 8f52cc1f3fbac5200b91646fa7d95f91542cfd36..5aaf4342cdbdaf487dbe38f54c71f303b9ee7283 100644 (file)
@@ -562,12 +562,10 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_ovl_remove(struct platform_device *pdev)
+static void mtk_disp_ovl_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_ovl_component_ops);
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 static const struct mtk_disp_ovl_data mt2701_ovl_driver_data = {
@@ -659,7 +657,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_ovl_driver_dt_match);
 
 struct platform_driver mtk_disp_ovl_driver = {
        .probe          = mtk_disp_ovl_probe,
-       .remove         = mtk_disp_ovl_remove,
+       .remove_new     = mtk_disp_ovl_remove,
        .driver         = {
                .name   = "mediatek-disp-ovl",
                .owner  = THIS_MODULE,
index d4df17ad600ab4f58f7b00f45c828423ec6ca65f..f0d851b53dffcee8047308f3ee729ad99eaf0ba6 100644 (file)
@@ -380,13 +380,11 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_disp_rdma_remove(struct platform_device *pdev)
+static void mtk_disp_rdma_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_disp_rdma_component_ops);
 
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 static const struct mtk_disp_rdma_data mt2701_rdma_driver_data = {
@@ -428,7 +426,7 @@ MODULE_DEVICE_TABLE(of, mtk_disp_rdma_driver_dt_match);
 
 struct platform_driver mtk_disp_rdma_driver = {
        .probe          = mtk_disp_rdma_probe,
-       .remove         = mtk_disp_rdma_remove,
+       .remove_new     = mtk_disp_rdma_remove,
        .driver         = {
                .name   = "mediatek-disp-rdma",
                .owner  = THIS_MODULE,
index c06fcc7318e790ffa095cf1ca5b338e0b3d4b2af..2cb47f6637568b2f454559fe9a263cc5265eeff3 100644 (file)
@@ -2694,7 +2694,7 @@ static int mtk_dp_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int mtk_dp_remove(struct platform_device *pdev)
+static void mtk_dp_remove(struct platform_device *pdev)
 {
        struct mtk_dp *mtk_dp = platform_get_drvdata(pdev);
 
@@ -2705,8 +2705,6 @@ static int mtk_dp_remove(struct platform_device *pdev)
        platform_device_unregister(mtk_dp->phy_dev);
        if (mtk_dp->audio_pdev)
                platform_device_unregister(mtk_dp->audio_pdev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -2767,7 +2765,7 @@ MODULE_DEVICE_TABLE(of, mtk_dp_of_match);
 
 static struct platform_driver mtk_dp_driver = {
        .probe = mtk_dp_probe,
-       .remove = mtk_dp_remove,
+       .remove_new = mtk_dp_remove,
        .driver = {
                .name = "mediatek-drm-dp",
                .of_match_table = mtk_dp_of_match,
index 6dcb4ba2466c0d07d01925694a6f34ca8d88632c..c77d5c73835dd114ac900114a14349ff699c2c6c 100644 (file)
@@ -909,7 +909,7 @@ err_node:
        return ret;
 }
 
-static int mtk_drm_remove(struct platform_device *pdev)
+static void mtk_drm_remove(struct platform_device *pdev)
 {
        struct mtk_drm_private *private = platform_get_drvdata(pdev);
        int i;
@@ -919,8 +919,6 @@ static int mtk_drm_remove(struct platform_device *pdev)
        of_node_put(private->mutex_node);
        for (i = 0; i < DDP_COMPONENT_DRM_ID_MAX; i++)
                of_node_put(private->comp_node[i]);
-
-       return 0;
 }
 
 static int mtk_drm_sys_prepare(struct device *dev)
@@ -953,7 +951,7 @@ static const struct dev_pm_ops mtk_drm_pm_ops = {
 
 static struct platform_driver mtk_drm_platform_driver = {
        .probe  = mtk_drm_probe,
-       .remove = mtk_drm_remove,
+       .remove_new = mtk_drm_remove,
        .driver = {
                .name   = "mediatek-drm",
                .pm     = &mtk_drm_pm_ops,
index 7d525035119369801ce78d29361f7b8d83417f2e..d8bfc2cce54dc634cbe1d4c8675ad629046b14c3 100644 (file)
@@ -1178,14 +1178,12 @@ err_unregister_host:
        return ret;
 }
 
-static int mtk_dsi_remove(struct platform_device *pdev)
+static void mtk_dsi_remove(struct platform_device *pdev)
 {
        struct mtk_dsi *dsi = platform_get_drvdata(pdev);
 
        mtk_output_dsi_disable(dsi);
        mipi_dsi_host_unregister(&dsi->host);
-
-       return 0;
 }
 
 static const struct mtk_dsi_driver_data mt8173_dsi_driver_data = {
@@ -1223,7 +1221,7 @@ MODULE_DEVICE_TABLE(of, mtk_dsi_of_match);
 
 struct platform_driver mtk_dsi_driver = {
        .probe = mtk_dsi_probe,
-       .remove = mtk_dsi_remove,
+       .remove_new = mtk_dsi_remove,
        .driver = {
                .name = "mtk-dsi",
                .of_match_table = mtk_dsi_of_match,
index 0a8e0a13f516ce6f1340646f80d4eb8c2b3554c7..86133bf16326b1c42c2ac9bbf4447e925c860536 100644 (file)
@@ -1746,13 +1746,12 @@ err_bridge_remove:
        return ret;
 }
 
-static int mtk_drm_hdmi_remove(struct platform_device *pdev)
+static void mtk_drm_hdmi_remove(struct platform_device *pdev)
 {
        struct mtk_hdmi *hdmi = platform_get_drvdata(pdev);
 
        drm_bridge_remove(&hdmi->bridge);
        mtk_hdmi_clk_disable_audio(hdmi);
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -1806,7 +1805,7 @@ MODULE_DEVICE_TABLE(of, mtk_drm_hdmi_of_ids);
 
 static struct platform_driver mtk_hdmi_driver = {
        .probe = mtk_drm_hdmi_probe,
-       .remove = mtk_drm_hdmi_remove,
+       .remove_new = mtk_drm_hdmi_remove,
        .driver = {
                .name = "mediatek-drm-hdmi",
                .of_match_table = mtk_drm_hdmi_of_ids,
index 4d39ea0a05ca4844cbfcd765ed4c1ca89af48126..d675c954befe3cc3ec833ca4ff838371d58727d4 100644 (file)
@@ -324,14 +324,12 @@ err_clk_disable:
        return ret;
 }
 
-static int mtk_hdmi_ddc_remove(struct platform_device *pdev)
+static void mtk_hdmi_ddc_remove(struct platform_device *pdev)
 {
        struct mtk_hdmi_ddc *ddc = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&ddc->adap);
        clk_disable_unprepare(ddc->clk);
-
-       return 0;
 }
 
 static const struct of_device_id mtk_hdmi_ddc_match[] = {
@@ -342,7 +340,7 @@ MODULE_DEVICE_TABLE(of, mtk_hdmi_ddc_match);
 
 struct platform_driver mtk_hdmi_ddc_driver = {
        .probe = mtk_hdmi_ddc_probe,
-       .remove = mtk_hdmi_ddc_remove,
+       .remove_new = mtk_hdmi_ddc_remove,
        .driver = {
                .name = "mediatek-hdmi-ddc",
                .of_match_table = mtk_hdmi_ddc_match,
index e06db6e56b5f6e5bd2d7c484cdd114e832d97e82..5746f06220c12e8398da6f6f76ac41cc3264451f 100644 (file)
@@ -315,11 +315,10 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int mtk_mdp_rdma_remove(struct platform_device *pdev)
+static void mtk_mdp_rdma_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &mtk_mdp_rdma_component_ops);
        pm_runtime_disable(&pdev->dev);
-       return 0;
 }
 
 static const struct of_device_id mtk_mdp_rdma_driver_dt_match[] = {
@@ -330,7 +329,7 @@ MODULE_DEVICE_TABLE(of, mtk_mdp_rdma_driver_dt_match);
 
 struct platform_driver mtk_mdp_rdma_driver = {
        .probe = mtk_mdp_rdma_probe,
-       .remove = mtk_mdp_rdma_remove,
+       .remove_new = mtk_mdp_rdma_remove,
        .driver = {
                .name = "mediatek-mdp-rdma",
                .owner = THIS_MODULE,