]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: mediatek: clk-mtk: Propagate struct device for composites
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Fri, 20 Jan 2023 09:20:35 +0000 (10:20 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 27 Apr 2024 15:07:13 +0000 (17:07 +0200)
[ Upstream commit 01a6c1ab57c3a474c8d23c7d82c3fcce85f62612 ]

Like done for cpumux clocks, propagate struct device for composite
clocks registered through clk-mtk helpers to be able to get runtime
pm support for MTK clocks.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-6-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Stable-dep-of: 2f7b1d8b5505 ("clk: mediatek: Do a runtime PM get on controllers during probe")
Signed-off-by: Sasha Levin <sashal@kernel.org>
20 files changed:
drivers/clk/mediatek/clk-mt2701.c
drivers/clk/mediatek/clk-mt2712.c
drivers/clk/mediatek/clk-mt6779.c
drivers/clk/mediatek/clk-mt6795-pericfg.c
drivers/clk/mediatek/clk-mt6795-topckgen.c
drivers/clk/mediatek/clk-mt6797.c
drivers/clk/mediatek/clk-mt7622.c
drivers/clk/mediatek/clk-mt7629.c
drivers/clk/mediatek/clk-mt8135.c
drivers/clk/mediatek/clk-mt8167.c
drivers/clk/mediatek/clk-mt8173.c
drivers/clk/mediatek/clk-mt8183.c
drivers/clk/mediatek/clk-mt8186-mcu.c
drivers/clk/mediatek/clk-mt8186-topckgen.c
drivers/clk/mediatek/clk-mt8192.c
drivers/clk/mediatek/clk-mt8195-topckgen.c
drivers/clk/mediatek/clk-mt8365.c
drivers/clk/mediatek/clk-mt8516.c
drivers/clk/mediatek/clk-mtk.c
drivers/clk/mediatek/clk-mtk.h

index c7510f7ba4cc9718acec026efb60245db3a32e3c..e80fe9c942eebcace8a541d0fc113bb87b50bf3f 100644 (file)
@@ -679,8 +679,9 @@ static int mtk_topckgen_init(struct platform_device *pdev)
        mtk_clk_register_factors(top_fixed_divs, ARRAY_SIZE(top_fixed_divs),
                                                                clk_data);
 
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes),
-                               base, &mt2701_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt2701_clk_lock, clk_data);
 
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
                                base, &mt2701_clk_lock, clk_data);
@@ -905,8 +906,9 @@ static int mtk_pericfg_init(struct platform_device *pdev)
        mtk_clk_register_gates(&pdev->dev, node, peri_clks,
                               ARRAY_SIZE(peri_clks), clk_data);
 
-       mtk_clk_register_composites(peri_muxs, ARRAY_SIZE(peri_muxs), base,
-                       &mt2701_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, peri_muxs,
+                                   ARRAY_SIZE(peri_muxs), base,
+                                   &mt2701_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
index 78ebb4f2335c1b3854b716477b3345920700077a..a0f0c9ed48d10d325ec6d857d1700b7fc59abffd 100644 (file)
@@ -1320,8 +1320,9 @@ static int clk_mt2712_top_probe(struct platform_device *pdev)
        mtk_clk_register_factors(top_early_divs, ARRAY_SIZE(top_early_divs),
                        top_clk_data);
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), top_clk_data);
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
-                       &mt2712_clk_lock, top_clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt2712_clk_lock, top_clk_data);
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs), base,
                        &mt2712_clk_lock, top_clk_data);
        mtk_clk_register_gates(&pdev->dev, node, top_clks,
@@ -1395,8 +1396,11 @@ static int clk_mt2712_mcu_probe(struct platform_device *pdev)
 
        clk_data = mtk_alloc_clk_data(CLK_MCU_NR_CLK);
 
-       mtk_clk_register_composites(mcu_muxes, ARRAY_SIZE(mcu_muxes), base,
-                       &mt2712_clk_lock, clk_data);
+       r = mtk_clk_register_composites(&pdev->dev, mcu_muxes,
+                                       ARRAY_SIZE(mcu_muxes), base,
+                                       &mt2712_clk_lock, clk_data);
+       if (r)
+               dev_err(&pdev->dev, "Could not register composites: %d\n", r);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
 
index 5a396d2464ce5f675ca0d67d8034b4abb86e38e8..2c20e40d7c80900f24428587eef2a6e2d5522ca7 100644 (file)
@@ -1251,11 +1251,13 @@ static int clk_mt6779_top_probe(struct platform_device *pdev)
        mtk_clk_register_muxes(top_muxes, ARRAY_SIZE(top_muxes),
                               node, &mt6779_clk_lock, clk_data);
 
-       mtk_clk_register_composites(top_aud_muxes, ARRAY_SIZE(top_aud_muxes),
-                                   base, &mt6779_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_aud_muxes,
+                                   ARRAY_SIZE(top_aud_muxes), base,
+                                   &mt6779_clk_lock, clk_data);
 
-       mtk_clk_register_composites(top_aud_divs, ARRAY_SIZE(top_aud_divs),
-                                   base, &mt6779_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_aud_divs,
+                                   ARRAY_SIZE(top_aud_divs), base,
+                                   &mt6779_clk_lock, clk_data);
 
        return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
 }
index f69e715e0c1f36f01548ed14ac0d89501b069b75..08aaa9b09c363e77db3443ba8d4b62f41a38aea5 100644 (file)
@@ -114,7 +114,8 @@ static int clk_mt6795_pericfg_probe(struct platform_device *pdev)
        if (ret)
                goto free_clk_data;
 
-       ret = mtk_clk_register_composites(peri_clks, ARRAY_SIZE(peri_clks), base,
+       ret = mtk_clk_register_composites(&pdev->dev, peri_clks,
+                                         ARRAY_SIZE(peri_clks), base,
                                          &mt6795_peri_clk_lock, clk_data);
        if (ret)
                goto unregister_gates;
index 2948dd1aee8fa796178d472cd4cf03c13ba692ce..845cc870493039a615ad789b39fbe5f2ef52c1e6 100644 (file)
@@ -557,7 +557,8 @@ static int clk_mt6795_topckgen_probe(struct platform_device *pdev)
        if (ret)
                goto unregister_factors;
 
-       ret = mtk_clk_register_composites(top_aud_divs, ARRAY_SIZE(top_aud_divs), base,
+       ret = mtk_clk_register_composites(&pdev->dev, top_aud_divs,
+                                         ARRAY_SIZE(top_aud_divs), base,
                                          &mt6795_top_clk_lock, clk_data);
        if (ret)
                goto unregister_muxes;
index 29211744b173667ca2163836301c58a7a7a2a0dc..0429a80f3cad7e7b51c3f736e710670e1a193cf9 100644 (file)
@@ -398,7 +398,8 @@ static int mtk_topckgen_init(struct platform_device *pdev)
        mtk_clk_register_factors(top_fixed_divs, ARRAY_SIZE(top_fixed_divs),
                                 clk_data);
 
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
+       mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
                                    &mt6797_clk_lock, clk_data);
 
        return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
index bba88018f056a2d4a570f76459700de9dea4b004..67a296646722ff1af10ad8b216b10e0871c391d3 100644 (file)
@@ -615,8 +615,9 @@ static int mtk_topckgen_init(struct platform_device *pdev)
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs),
                                 clk_data);
 
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes),
-                                   base, &mt7622_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt7622_clk_lock, clk_data);
 
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
                                  base, &mt7622_clk_lock, clk_data);
@@ -685,7 +686,8 @@ static int mtk_pericfg_init(struct platform_device *pdev)
        mtk_clk_register_gates(&pdev->dev, node, peri_clks,
                               ARRAY_SIZE(peri_clks), clk_data);
 
-       mtk_clk_register_composites(peri_muxes, ARRAY_SIZE(peri_muxes), base,
+       mtk_clk_register_composites(&pdev->dev, peri_muxes,
+                                   ARRAY_SIZE(peri_muxes), base,
                                    &mt7622_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
index c0cdaf0242961fa4bd200b81ac3337f526edde67..2019e272d1cd7852900305d5ee9619bb964e2538 100644 (file)
@@ -566,8 +566,9 @@ static int mtk_topckgen_init(struct platform_device *pdev)
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs),
                                 clk_data);
 
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes),
-                                   base, &mt7629_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt7629_clk_lock, clk_data);
 
        clk_prepare_enable(clk_data->hws[CLK_TOP_AXI_SEL]->clk);
        clk_prepare_enable(clk_data->hws[CLK_TOP_MEM_SEL]->clk);
@@ -613,7 +614,8 @@ static int mtk_pericfg_init(struct platform_device *pdev)
        mtk_clk_register_gates(&pdev->dev, node, peri_clks,
                               ARRAY_SIZE(peri_clks), clk_data);
 
-       mtk_clk_register_composites(peri_muxes, ARRAY_SIZE(peri_muxes), base,
+       mtk_clk_register_composites(&pdev->dev, peri_muxes,
+                                   ARRAY_SIZE(peri_muxes), base,
                                    &mt7629_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
index 8137cf2252724224e80350f16557b26cacb9c59f..a39ad58e27418fc4a7f47f39db7a595487203dd5 100644 (file)
@@ -536,8 +536,9 @@ static void __init mtk_topckgen_init(struct device_node *node)
 
        mtk_clk_register_factors(root_clk_alias, ARRAY_SIZE(root_clk_alias), clk_data);
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), clk_data);
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
-                       &mt8135_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt8135_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
@@ -581,8 +582,9 @@ static void __init mtk_pericfg_init(struct device_node *node)
 
        mtk_clk_register_gates(NULL, node, peri_gates,
                               ARRAY_SIZE(peri_gates), clk_data);
-       mtk_clk_register_composites(peri_clks, ARRAY_SIZE(peri_clks), base,
-                       &mt8135_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, peri_clks,
+                                   ARRAY_SIZE(peri_clks), base,
+                                   &mt8135_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
index 59fe82ba5c7a187abda23ac6f0a661e292f9f576..91669ebafaf9bc5b08fe221dba27f19066ab20ae 100644 (file)
@@ -940,8 +940,9 @@ static void __init mtk_topckgen_init(struct device_node *node)
        mtk_clk_register_gates(NULL, node, top_clks, ARRAY_SIZE(top_clks), clk_data);
 
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), clk_data);
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
-               &mt8167_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt8167_clk_lock, clk_data);
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
                                base, &mt8167_clk_lock, clk_data);
 
@@ -966,8 +967,9 @@ static void __init mtk_infracfg_init(struct device_node *node)
 
        clk_data = mtk_alloc_clk_data(CLK_IFR_NR_CLK);
 
-       mtk_clk_register_composites(ifr_muxes, ARRAY_SIZE(ifr_muxes), base,
-               &mt8167_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, ifr_muxes,
+                                   ARRAY_SIZE(ifr_muxes), base,
+                                   &mt8167_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
index 74ed7dd129f474c6b8a09d22f1fe940217e04713..d05c1109b4f875b85683d7950810f4b140bbfd71 100644 (file)
@@ -869,8 +869,9 @@ static void __init mtk_topckgen_init(struct device_node *node)
 
        mtk_clk_register_fixed_clks(fixed_clks, ARRAY_SIZE(fixed_clks), clk_data);
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), clk_data);
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
-                       &mt8173_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt8173_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
@@ -920,8 +921,9 @@ static void __init mtk_pericfg_init(struct device_node *node)
 
        mtk_clk_register_gates(NULL, node, peri_gates,
                               ARRAY_SIZE(peri_gates), clk_data);
-       mtk_clk_register_composites(peri_clks, ARRAY_SIZE(peri_clks), base,
-                       &mt8173_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, peri_clks,
+                                   ARRAY_SIZE(peri_clks), base,
+                                   &mt8173_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
index ba0d6ba10b3595b7fdb2ac85edbf3c1836b6d1ce..bf7b342332536653bb7f987218707317a3a58651 100644 (file)
@@ -1241,11 +1241,13 @@ static int clk_mt8183_top_probe(struct platform_device *pdev)
        mtk_clk_register_muxes(top_muxes, ARRAY_SIZE(top_muxes),
                node, &mt8183_clk_lock, top_clk_data);
 
-       mtk_clk_register_composites(top_aud_muxes, ARRAY_SIZE(top_aud_muxes),
-               base, &mt8183_clk_lock, top_clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_aud_muxes,
+                                   ARRAY_SIZE(top_aud_muxes), base,
+                                   &mt8183_clk_lock, top_clk_data);
 
-       mtk_clk_register_composites(top_aud_divs, ARRAY_SIZE(top_aud_divs),
-               base, &mt8183_clk_lock, top_clk_data);
+       mtk_clk_register_composites(&pdev->dev, top_aud_divs,
+                                   ARRAY_SIZE(top_aud_divs), base,
+                                   &mt8183_clk_lock, top_clk_data);
 
        mtk_clk_register_gates(&pdev->dev, node, top_clks,
                               ARRAY_SIZE(top_clks), top_clk_data);
@@ -1308,8 +1310,9 @@ static int clk_mt8183_mcu_probe(struct platform_device *pdev)
 
        clk_data = mtk_alloc_clk_data(CLK_MCU_NR_CLK);
 
-       mtk_clk_register_composites(mcu_muxes, ARRAY_SIZE(mcu_muxes), base,
-                       &mt8183_clk_lock, clk_data);
+       mtk_clk_register_composites(&pdev->dev, mcu_muxes,
+                                   ARRAY_SIZE(mcu_muxes), base,
+                                   &mt8183_clk_lock, clk_data);
 
        return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
 }
index dfc305c1fc5d8ffd822573d889870abe02136f1e..e52a2d986c99c9f4fbd8f5006fb2d3d58c7ca2cc 100644 (file)
@@ -65,7 +65,8 @@ static int clk_mt8186_mcu_probe(struct platform_device *pdev)
                goto free_mcu_data;
        }
 
-       r = mtk_clk_register_composites(mcu_muxes, ARRAY_SIZE(mcu_muxes), base,
+       r = mtk_clk_register_composites(&pdev->dev, mcu_muxes,
+                                       ARRAY_SIZE(mcu_muxes), base,
                                        NULL, clk_data);
        if (r)
                goto free_mcu_data;
index d7f2c4663c853a46bd8beb7a9394b7fc929e9c69..4ac157320a6b9e8c6642b743e41bfb4d5d322321 100644 (file)
@@ -720,12 +720,14 @@ static int clk_mt8186_topck_probe(struct platform_device *pdev)
        if (r)
                goto unregister_factors;
 
-       r = mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
+       r = mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                       ARRAY_SIZE(top_muxes), base,
                                        &mt8186_clk_lock, clk_data);
        if (r)
                goto unregister_muxes;
 
-       r = mtk_clk_register_composites(top_adj_divs, ARRAY_SIZE(top_adj_divs), base,
+       r = mtk_clk_register_composites(&pdev->dev, top_adj_divs,
+                                       ARRAY_SIZE(top_adj_divs), base,
                                        &mt8186_clk_lock, clk_data);
        if (r)
                goto unregister_composite_muxes;
index ac1eee513649bcbb0fa7b8634aef9fb371a75f95..ab856d0276184771dd63c1b2a721f71293f2bc65 100644 (file)
@@ -1117,12 +1117,14 @@ static int clk_mt8192_top_probe(struct platform_device *pdev)
        if (r)
                goto unregister_factors;
 
-       r = mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
+       r = mtk_clk_register_composites(&pdev->dev, top_muxes,
+                                       ARRAY_SIZE(top_muxes), base,
                                        &mt8192_clk_lock, top_clk_data);
        if (r)
                goto unregister_muxes;
 
-       r = mtk_clk_register_composites(top_adj_divs, ARRAY_SIZE(top_adj_divs), base,
+       r = mtk_clk_register_composites(&pdev->dev, top_adj_divs,
+                                       ARRAY_SIZE(top_adj_divs), base,
                                        &mt8192_clk_lock, top_clk_data);
        if (r)
                goto unregister_top_composites;
index e6e0298d64494745b7af4096355f049a387c460e..aae31ef3903de7a9556110adc2bcc7837405c1ea 100644 (file)
@@ -1281,7 +1281,8 @@ static int clk_mt8195_topck_probe(struct platform_device *pdev)
        if (r)
                goto unregister_muxes;
 
-       r = mtk_clk_register_composites(top_adj_divs, ARRAY_SIZE(top_adj_divs), base,
+       r = mtk_clk_register_composites(&pdev->dev, top_adj_divs,
+                                       ARRAY_SIZE(top_adj_divs), base,
                                        &mt8195_clk_lock, top_clk_data);
        if (r)
                goto unregister_muxes;
index b30cbeae1c3d342525c82f2ceb5a59cba67b3a7d..0482a8aa43cc9af524f0d7bb5a8037a219c013c5 100644 (file)
@@ -952,7 +952,7 @@ static int clk_mt8365_top_probe(struct platform_device *pdev)
        if (ret)
                goto unregister_factors;
 
-       ret = mtk_clk_register_composites(top_misc_mux_gates,
+       ret = mtk_clk_register_composites(&pdev->dev, top_misc_mux_gates,
                                          ARRAY_SIZE(top_misc_mux_gates), base,
                                          &mt8365_clk_lock, clk_data);
        if (ret)
@@ -1080,8 +1080,9 @@ static int clk_mt8365_mcu_probe(struct platform_device *pdev)
        if (!clk_data)
                return -ENOMEM;
 
-       ret = mtk_clk_register_composites(mcu_muxes, ARRAY_SIZE(mcu_muxes),
-                                         base, &mt8365_clk_lock, clk_data);
+       ret = mtk_clk_register_composites(&pdev->dev, mcu_muxes,
+                                         ARRAY_SIZE(mcu_muxes), base,
+                                         &mt8365_clk_lock, clk_data);
        if (ret)
                goto free_clk_data;
 
index bde0b8c761d475ec6ad236e66745bd597b0baf81..6983d3a48dc9a385c1983e0b64b9f56a41ad03a5 100644 (file)
@@ -658,8 +658,9 @@ static void __init mtk_topckgen_init(struct device_node *node)
        mtk_clk_register_gates(NULL, node, top_clks, ARRAY_SIZE(top_clks), clk_data);
 
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), clk_data);
-       mtk_clk_register_composites(top_muxes, ARRAY_SIZE(top_muxes), base,
-               &mt8516_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, top_muxes,
+                                   ARRAY_SIZE(top_muxes), base,
+                                   &mt8516_clk_lock, clk_data);
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
                                base, &mt8516_clk_lock, clk_data);
 
@@ -684,8 +685,9 @@ static void __init mtk_infracfg_init(struct device_node *node)
 
        clk_data = mtk_alloc_clk_data(CLK_IFR_NR_CLK);
 
-       mtk_clk_register_composites(ifr_muxes, ARRAY_SIZE(ifr_muxes), base,
-               &mt8516_clk_lock, clk_data);
+       mtk_clk_register_composites(NULL, ifr_muxes,
+                                   ARRAY_SIZE(ifr_muxes), base,
+                                   &mt8516_clk_lock, clk_data);
 
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
index 6123b234d3c3ba6eb62b4674c1f8bea0bb2802ae..152f3d906ef8a234b5ea51d3328e0466b0aa626f 100644 (file)
@@ -197,8 +197,8 @@ void mtk_clk_unregister_factors(const struct mtk_fixed_factor *clks, int num,
 }
 EXPORT_SYMBOL_GPL(mtk_clk_unregister_factors);
 
-static struct clk_hw *mtk_clk_register_composite(const struct mtk_composite *mc,
-               void __iomem *base, spinlock_t *lock)
+static struct clk_hw *mtk_clk_register_composite(struct device *dev,
+               const struct mtk_composite *mc, void __iomem *base, spinlock_t *lock)
 {
        struct clk_hw *hw;
        struct clk_mux *mux = NULL;
@@ -264,7 +264,7 @@ static struct clk_hw *mtk_clk_register_composite(const struct mtk_composite *mc,
                div_ops = &clk_divider_ops;
        }
 
-       hw = clk_hw_register_composite(NULL, mc->name, parent_names, num_parents,
+       hw = clk_hw_register_composite(dev, mc->name, parent_names, num_parents,
                mux_hw, mux_ops,
                div_hw, div_ops,
                gate_hw, gate_ops,
@@ -308,7 +308,8 @@ static void mtk_clk_unregister_composite(struct clk_hw *hw)
        kfree(mux);
 }
 
-int mtk_clk_register_composites(const struct mtk_composite *mcs, int num,
+int mtk_clk_register_composites(struct device *dev,
+                               const struct mtk_composite *mcs, int num,
                                void __iomem *base, spinlock_t *lock,
                                struct clk_hw_onecell_data *clk_data)
 {
@@ -327,7 +328,7 @@ int mtk_clk_register_composites(const struct mtk_composite *mcs, int num,
                        continue;
                }
 
-               hw = mtk_clk_register_composite(mc, base, lock);
+               hw = mtk_clk_register_composite(dev, mc, base, lock);
 
                if (IS_ERR(hw)) {
                        pr_err("Failed to register clk %s: %pe\n", mc->name,
index 63ae7941aa92f10c03483f288ab352aed44637ee..3993a60738c772ba578adf8f38362a5cee923d63 100644 (file)
@@ -149,7 +149,8 @@ struct mtk_composite {
                .flags = 0,                                             \
        }
 
-int mtk_clk_register_composites(const struct mtk_composite *mcs, int num,
+int mtk_clk_register_composites(struct device *dev,
+                               const struct mtk_composite *mcs, int num,
                                void __iomem *base, spinlock_t *lock,
                                struct clk_hw_onecell_data *clk_data);
 void mtk_clk_unregister_composites(const struct mtk_composite *mcs, int num,