clk: mediatek: Convert all remaining drivers to platform_driver's .remove_new()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 30 Apr 2023 19:02:33 +0000 (21:02 +0200)
committerStephen Boyd <sboyd@kernel.org>
Wed, 10 May 2023 21:00:46 +0000 (14:00 -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 all mediatek clk 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>
Link: https://lore.kernel.org/r/20230430190233.878921-4-u.kleine-koenig@pengutronix.de
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
16 files changed:
drivers/clk/mediatek/clk-mt2712-apmixedsys.c
drivers/clk/mediatek/clk-mt6795-apmixedsys.c
drivers/clk/mediatek/clk-mt6795-infracfg.c
drivers/clk/mediatek/clk-mt6795-pericfg.c
drivers/clk/mediatek/clk-mt7622-apmixedsys.c
drivers/clk/mediatek/clk-mt7622-infracfg.c
drivers/clk/mediatek/clk-mt8135-apmixedsys.c
drivers/clk/mediatek/clk-mt8173-apmixedsys.c
drivers/clk/mediatek/clk-mt8173-infracfg.c
drivers/clk/mediatek/clk-mt8186-apmixedsys.c
drivers/clk/mediatek/clk-mt8188-apmixedsys.c
drivers/clk/mediatek/clk-mt8188-topckgen.c
drivers/clk/mediatek/clk-mt8192-apmixedsys.c
drivers/clk/mediatek/clk-mt8195-apmixedsys.c
drivers/clk/mediatek/clk-mt8195-apusys_pll.c
drivers/clk/mediatek/clk-mt8195-topckgen.c

index 9d2fcda285fb09f47e5c10600cc77d716eed79c5..43272dc744c7ff382cbad8ad690d0d3930e4425c 100644 (file)
@@ -138,7 +138,7 @@ free_clk_data:
        return r;
 }
 
-static int clk_mt2712_apmixed_remove(struct platform_device *pdev)
+static void clk_mt2712_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -146,8 +146,6 @@ static int clk_mt2712_apmixed_remove(struct platform_device *pdev)
        of_clk_del_provider(node);
        mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static const struct of_device_id of_match_clk_mt2712_apmixed[] = {
@@ -158,7 +156,7 @@ MODULE_DEVICE_TABLE(of, of_match_clk_mt2712_apmixed);
 
 static struct platform_driver clk_mt2712_apmixed_drv = {
        .probe = clk_mt2712_apmixed_probe,
-       .remove = clk_mt2712_apmixed_remove,
+       .remove_new = clk_mt2712_apmixed_remove,
        .driver = {
                .name = "clk-mt2712-apmixed",
                .of_match_table = of_match_clk_mt2712_apmixed,
index 8b30109f253cf910b2f3db2d23e45d9b33b6efb5..8c65974ed9b870c758bcb463ee1db9da68da16f8 100644 (file)
@@ -187,7 +187,7 @@ free_clk_data:
        return ret;
 }
 
-static int clk_mt6795_apmixed_remove(struct platform_device *pdev)
+static void clk_mt6795_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -197,13 +197,11 @@ static int clk_mt6795_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_pllfhs(plls, ARRAY_SIZE(plls), pllfhs,
                                  ARRAY_SIZE(pllfhs), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt6795_apmixed_drv = {
        .probe = clk_mt6795_apmixed_probe,
-       .remove = clk_mt6795_apmixed_remove,
+       .remove_new = clk_mt6795_apmixed_remove,
        .driver = {
                .name = "clk-mt6795-apmixed",
                .of_match_table = of_match_clk_mt6795_apmixed,
index 086ea1438564f35473b549ccba43cd5bc00debe8..06d7fdf3098b0c5eae7ddd0d65ca52756b83e029 100644 (file)
@@ -127,7 +127,7 @@ free_clk_data:
        return ret;
 }
 
-static int clk_mt6795_infracfg_remove(struct platform_device *pdev)
+static void clk_mt6795_infracfg_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -136,8 +136,6 @@ static int clk_mt6795_infracfg_remove(struct platform_device *pdev)
        mtk_clk_unregister_cpumuxes(cpu_muxes, ARRAY_SIZE(cpu_muxes), clk_data);
        mtk_clk_unregister_gates(infra_gates, ARRAY_SIZE(infra_gates), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt6795_infracfg_drv = {
@@ -146,7 +144,7 @@ static struct platform_driver clk_mt6795_infracfg_drv = {
                .of_match_table = of_match_clk_mt6795_infracfg,
        },
        .probe = clk_mt6795_infracfg_probe,
-       .remove = clk_mt6795_infracfg_remove,
+       .remove_new = clk_mt6795_infracfg_remove,
 };
 module_platform_driver(clk_mt6795_infracfg_drv);
 
index 62cc19eee2c787be69b8c7acbd0cc56b7d925aa5..3f6bea418a5ac1c133ee36f64eb0dd6fdfbc930d 100644 (file)
@@ -136,7 +136,7 @@ free_clk_data:
        return ret;
 }
 
-static int clk_mt6795_pericfg_remove(struct platform_device *pdev)
+static void clk_mt6795_pericfg_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -145,8 +145,6 @@ static int clk_mt6795_pericfg_remove(struct platform_device *pdev)
        mtk_clk_unregister_composites(peri_clks, ARRAY_SIZE(peri_clks), clk_data);
        mtk_clk_unregister_gates(peri_gates, ARRAY_SIZE(peri_gates), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt6795_pericfg_drv = {
@@ -155,7 +153,7 @@ static struct platform_driver clk_mt6795_pericfg_drv = {
                .of_match_table = of_match_clk_mt6795_pericfg,
        },
        .probe = clk_mt6795_pericfg_probe,
-       .remove = clk_mt6795_pericfg_remove,
+       .remove_new = clk_mt6795_pericfg_remove,
 };
 module_platform_driver(clk_mt6795_pericfg_drv);
 
index a36808d074d64716816ec58b79a37d0b0d746ade..9cffd278e9a43e6a0d7d5761f91adbc71f3ab479 100644 (file)
@@ -119,7 +119,7 @@ unregister_plls:
        return ret;
 }
 
-static int clk_mt7622_apmixed_remove(struct platform_device *pdev)
+static void clk_mt7622_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -128,8 +128,6 @@ static int clk_mt7622_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_gates(apmixed_clks, ARRAY_SIZE(apmixed_clks), clk_data);
        mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static const struct of_device_id of_match_clk_mt7622_apmixed[] = {
@@ -140,7 +138,7 @@ MODULE_DEVICE_TABLE(of, of_match_clk_mt7622_apmixed);
 
 static struct platform_driver clk_mt7622_apmixed_drv = {
        .probe = clk_mt7622_apmixed_probe,
-       .remove = clk_mt7622_apmixed_remove,
+       .remove_new = clk_mt7622_apmixed_remove,
        .driver = {
                .name = "clk-mt7622-apmixed",
                .of_match_table = of_match_clk_mt7622_apmixed,
index 9dc05526f2870c9f230d56e8e7a0f4998ec82371..6bc911cb29a67019a64a54b7af674999df96c9af 100644 (file)
@@ -101,7 +101,7 @@ free_clk_data:
        return ret;
 }
 
-static int clk_mt7622_infracfg_remove(struct platform_device *pdev)
+static void clk_mt7622_infracfg_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -110,8 +110,6 @@ static int clk_mt7622_infracfg_remove(struct platform_device *pdev)
        mtk_clk_unregister_cpumuxes(cpu_muxes, ARRAY_SIZE(cpu_muxes), clk_data);
        mtk_clk_unregister_gates(infra_clks, ARRAY_SIZE(infra_clks), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt7622_infracfg_drv = {
@@ -120,7 +118,7 @@ static struct platform_driver clk_mt7622_infracfg_drv = {
                .of_match_table = of_match_clk_mt7622_infracfg,
        },
        .probe = clk_mt7622_infracfg_probe,
-       .remove = clk_mt7622_infracfg_remove,
+       .remove_new = clk_mt7622_infracfg_remove,
 };
 module_platform_driver(clk_mt7622_infracfg_drv);
 
index 744aae092281d102805339db1d69d09906d90ebb..d1239b4b3db74b4857cc3fe2fa981acb74b914d1 100644 (file)
@@ -73,7 +73,7 @@ unregister_plls:
        return ret;
 }
 
-static int clk_mt8135_apmixed_remove(struct platform_device *pdev)
+static void clk_mt8135_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -81,8 +81,6 @@ static int clk_mt8135_apmixed_remove(struct platform_device *pdev)
        of_clk_del_provider(node);
        mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static const struct of_device_id of_match_clk_mt8135_apmixed[] = {
@@ -93,7 +91,7 @@ MODULE_DEVICE_TABLE(of, of_match_clk_mt8135_apmixed);
 
 static struct platform_driver clk_mt8135_apmixed_drv = {
        .probe = clk_mt8135_apmixed_probe,
-       .remove = clk_mt8135_apmixed_remove,
+       .remove_new = clk_mt8135_apmixed_remove,
        .driver = {
                .name = "clk-mt8135-apmixed",
                .of_match_table = of_match_clk_mt8135_apmixed,
index 8c2aa8b0f39ead27eef7e3ed5641b750cb7ccf0f..daa2856d1ab7560340d6addbd77c9e320c8da6dc 100644 (file)
@@ -189,7 +189,7 @@ free_clk_data:
        return r;
 }
 
-static int clk_mt8173_apmixed_remove(struct platform_device *pdev)
+static void clk_mt8173_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -199,13 +199,11 @@ static int clk_mt8173_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_pllfhs(plls, ARRAY_SIZE(plls), pllfhs,
                                  ARRAY_SIZE(pllfhs), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8173_apmixed_drv = {
        .probe = clk_mt8173_apmixed_probe,
-       .remove = clk_mt8173_apmixed_remove,
+       .remove_new = clk_mt8173_apmixed_remove,
        .driver = {
                .name = "clk-mt8173-apmixed",
                .of_match_table = of_match_clk_mt8173_apmixed,
index 4ed5043076ec731e4b383f39bc204853c627c26f..2f2f074e231a7102190dd35b1d37ad98aded62ec 100644 (file)
@@ -129,7 +129,7 @@ unregister_gates:
        return r;
 }
 
-static int clk_mt8173_infracfg_remove(struct platform_device *pdev)
+static void clk_mt8173_infracfg_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -138,8 +138,6 @@ static int clk_mt8173_infracfg_remove(struct platform_device *pdev)
        mtk_clk_unregister_cpumuxes(cpu_muxes, ARRAY_SIZE(cpu_muxes), clk_data);
        mtk_clk_unregister_gates(infra_gates, ARRAY_SIZE(infra_gates), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8173_infracfg_drv = {
@@ -148,7 +146,7 @@ static struct platform_driver clk_mt8173_infracfg_drv = {
                .of_match_table = of_match_clk_mt8173_infracfg,
        },
        .probe = clk_mt8173_infracfg_probe,
-       .remove = clk_mt8173_infracfg_remove,
+       .remove_new = clk_mt8173_infracfg_remove,
 };
 module_platform_driver(clk_mt8173_infracfg_drv);
 
index da7950d51c64e095f978b6583a010af939041ed8..fff64a8fd5573c8cef1e6e06293c722d22534071 100644 (file)
@@ -172,7 +172,7 @@ free_apmixed_data:
        return r;
 }
 
-static int clk_mt8186_apmixed_remove(struct platform_device *pdev)
+static void clk_mt8186_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -181,13 +181,11 @@ static int clk_mt8186_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_pllfhs(plls, ARRAY_SIZE(plls), pllfhs,
                                  ARRAY_SIZE(pllfhs), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8186_apmixed_drv = {
        .probe = clk_mt8186_apmixed_probe,
-       .remove = clk_mt8186_apmixed_remove,
+       .remove_new = clk_mt8186_apmixed_remove,
        .driver = {
                .name = "clk-mt8186-apmixed",
                .of_match_table = of_match_clk_mt8186_apmixed,
index 9d21da2d9aa76c4230782f9a0b98819b88594c70..3c1ace87796b22c7b03ca993bbfda646d12f66be 100644 (file)
@@ -132,7 +132,7 @@ free_apmixed_data:
        return r;
 }
 
-static int clk_mt8188_apmixed_remove(struct platform_device *pdev)
+static void clk_mt8188_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -141,13 +141,11 @@ static int clk_mt8188_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_gates(apmixed_clks, ARRAY_SIZE(apmixed_clks), clk_data);
        mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8188_apmixed_drv = {
        .probe = clk_mt8188_apmixed_probe,
-       .remove = clk_mt8188_apmixed_remove,
+       .remove_new = clk_mt8188_apmixed_remove,
        .driver = {
                .name = "clk-mt8188-apmixed",
                .of_match_table = of_match_clk_mt8188_apmixed,
index c56ec42cb15f3061a76cc039aba80653e49c1a8e..1ab30834a8ffe94a43d0a3795519cf43cc125e9c 100644 (file)
@@ -1322,7 +1322,7 @@ free_top_data:
        return r;
 }
 
-static int clk_mt8188_topck_remove(struct platform_device *pdev)
+static void clk_mt8188_topck_remove(struct platform_device *pdev)
 {
        struct clk_hw_onecell_data *top_clk_data = platform_get_drvdata(pdev);
        struct device_node *node = pdev->dev.of_node;
@@ -1334,13 +1334,11 @@ static int clk_mt8188_topck_remove(struct platform_device *pdev)
        mtk_clk_unregister_factors(top_divs, ARRAY_SIZE(top_divs), top_clk_data);
        mtk_clk_unregister_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks), top_clk_data);
        mtk_free_clk_data(top_clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8188_topck_drv = {
        .probe = clk_mt8188_topck_probe,
-       .remove = clk_mt8188_topck_remove,
+       .remove_new = clk_mt8188_topck_remove,
        .driver = {
                .name = "clk-mt8188-topck",
                .of_match_table = of_match_clk_mt8188_topck,
index eafd34297b9a979abd4a51e69f4b0d50d1c37e0a..3590932acc63a2551813a6316c2bb4ac788b5499 100644 (file)
@@ -188,7 +188,7 @@ free_clk_data:
        return r;
 }
 
-static int clk_mt8192_apmixed_remove(struct platform_device *pdev)
+static void clk_mt8192_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -198,8 +198,6 @@ static int clk_mt8192_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_pllfhs(plls, ARRAY_SIZE(plls), pllfhs,
                                  ARRAY_SIZE(pllfhs), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8192_apmixed_drv = {
@@ -208,7 +206,7 @@ static struct platform_driver clk_mt8192_apmixed_drv = {
                .of_match_table = of_match_clk_mt8192_apmixed,
        },
        .probe = clk_mt8192_apmixed_probe,
-       .remove = clk_mt8192_apmixed_remove,
+       .remove_new = clk_mt8192_apmixed_remove,
 };
 module_platform_driver(clk_mt8192_apmixed_drv);
 MODULE_DESCRIPTION("MediaTek MT8192 apmixed clocks driver");
index 8b9b5d8202869b6af3ebb40eb4dc67fffcc2634b..502a9dc1fdb8fe7147d27d15d0a092598d80a3c8 100644 (file)
@@ -209,7 +209,7 @@ free_apmixed_data:
        return r;
 }
 
-static int clk_mt8195_apmixed_remove(struct platform_device *pdev)
+static void clk_mt8195_apmixed_remove(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
@@ -219,13 +219,11 @@ static int clk_mt8195_apmixed_remove(struct platform_device *pdev)
        mtk_clk_unregister_pllfhs(plls, ARRAY_SIZE(plls), pllfhs,
                                  ARRAY_SIZE(pllfhs), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8195_apmixed_drv = {
        .probe = clk_mt8195_apmixed_probe,
-       .remove = clk_mt8195_apmixed_remove,
+       .remove_new = clk_mt8195_apmixed_remove,
        .driver = {
                .name = "clk-mt8195-apmixed",
                .of_match_table = of_match_clk_mt8195_apmixed,
index de04c087c8c33d15e947d313eca82d7d0fcdbdba..79762bc85cd7f3451db18d15df901f1ccf5d1a3e 100644 (file)
@@ -85,7 +85,7 @@ free_apusys_pll_data:
        return r;
 }
 
-static int clk_mt8195_apusys_pll_remove(struct platform_device *pdev)
+static void clk_mt8195_apusys_pll_remove(struct platform_device *pdev)
 {
        struct clk_hw_onecell_data *clk_data = platform_get_drvdata(pdev);
        struct device_node *node = pdev->dev.of_node;
@@ -93,8 +93,6 @@ static int clk_mt8195_apusys_pll_remove(struct platform_device *pdev)
        of_clk_del_provider(node);
        mtk_clk_unregister_plls(apusys_plls, ARRAY_SIZE(apusys_plls), clk_data);
        mtk_free_clk_data(clk_data);
-
-       return 0;
 }
 
 static const struct of_device_id of_match_clk_mt8195_apusys_pll[] = {
@@ -105,7 +103,7 @@ MODULE_DEVICE_TABLE(of, of_match_clk_mt8195_apusys_pll);
 
 static struct platform_driver clk_mt8195_apusys_pll_drv = {
        .probe = clk_mt8195_apusys_pll_probe,
-       .remove = clk_mt8195_apusys_pll_remove,
+       .remove_new = clk_mt8195_apusys_pll_remove,
        .driver = {
                .name = "clk-mt8195-apusys_pll",
                .of_match_table = of_match_clk_mt8195_apusys_pll,
index 3c2174c3e742f390526a367921144d5ed9684e25..ffa4dc55986716e7804d7ac57383d36bf724bfc1 100644 (file)
@@ -1317,7 +1317,7 @@ free_top_data:
        return r;
 }
 
-static int clk_mt8195_topck_remove(struct platform_device *pdev)
+static void clk_mt8195_topck_remove(struct platform_device *pdev)
 {
        struct clk_hw_onecell_data *top_clk_data = platform_get_drvdata(pdev);
        struct device_node *node = pdev->dev.of_node;
@@ -1329,13 +1329,11 @@ static int clk_mt8195_topck_remove(struct platform_device *pdev)
        mtk_clk_unregister_factors(top_divs, ARRAY_SIZE(top_divs), top_clk_data);
        mtk_clk_unregister_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks), top_clk_data);
        mtk_free_clk_data(top_clk_data);
-
-       return 0;
 }
 
 static struct platform_driver clk_mt8195_topck_drv = {
        .probe = clk_mt8195_topck_probe,
-       .remove = clk_mt8195_topck_remove,
+       .remove_new = clk_mt8195_topck_remove,
        .driver = {
                .name = "clk-mt8195-topck",
                .of_match_table = of_match_clk_mt8195_topck,