]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: rockchip: px30: Drop CLK_NR_CLKS CLKPMU_NR_CLKS usage
authorJohan Jonker <jbx6244@gmail.com>
Mon, 26 Aug 2024 16:38:12 +0000 (18:38 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 28 Aug 2024 19:25:49 +0000 (21:25 +0200)
In order to get rid of CLK_NR_CLKS and CLKPMU_NR_CLKS
and be able to drop it from the bindings, use
rockchip_clk_find_max_clk_id helper to find the
highest clock id.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/5ad12808-61f5-4e3b-801e-85231375b6a6@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
drivers/clk/rockchip/clk-px30.c

index b58619eb412bbc98da86f1a30cfdea11134dd8f1..caf7c0e6e479e0418185756d55c8664fd700825d 100644 (file)
@@ -1002,6 +1002,7 @@ static const char *const px30_cru_critical_clocks[] __initconst = {
 static void __init px30_clk_init(struct device_node *np)
 {
        struct rockchip_clk_provider *ctx;
+       unsigned long clk_nr_clks;
        void __iomem *reg_base;
 
        reg_base = of_iomap(np, 0);
@@ -1010,7 +1011,9 @@ static void __init px30_clk_init(struct device_node *np)
                return;
        }
 
-       ctx = rockchip_clk_init(np, reg_base, CLK_NR_CLKS);
+       clk_nr_clks = rockchip_clk_find_max_clk_id(px30_clk_branches,
+                                                  ARRAY_SIZE(px30_clk_branches)) + 1;
+       ctx = rockchip_clk_init(np, reg_base, clk_nr_clks);
        if (IS_ERR(ctx)) {
                pr_err("%s: rockchip clk init failed\n", __func__);
                iounmap(reg_base);
@@ -1043,6 +1046,7 @@ CLK_OF_DECLARE(px30_cru, "rockchip,px30-cru", px30_clk_init);
 static void __init px30_pmu_clk_init(struct device_node *np)
 {
        struct rockchip_clk_provider *ctx;
+       unsigned long clkpmu_nr_clks;
        void __iomem *reg_base;
 
        reg_base = of_iomap(np, 0);
@@ -1051,7 +1055,9 @@ static void __init px30_pmu_clk_init(struct device_node *np)
                return;
        }
 
-       ctx = rockchip_clk_init(np, reg_base, CLKPMU_NR_CLKS);
+       clkpmu_nr_clks = rockchip_clk_find_max_clk_id(px30_clk_pmu_branches,
+                                                     ARRAY_SIZE(px30_clk_pmu_branches)) + 1;
+       ctx = rockchip_clk_init(np, reg_base, clkpmu_nr_clks);
        if (IS_ERR(ctx)) {
                pr_err("%s: rockchip pmu clk init failed\n", __func__);
                return;