Skip to content

Commit ef4923c

Browse files
committed
clk: samsung: exynos7885: do not define number of clocks in bindings
Number of clocks supported by Linux drivers might vary - sometimes we add new clocks, not exposed previously. Therefore these numbers of clocks should not be in the bindings, as that prevents changing them. Define number of clocks per each clock controller inside the driver directly. Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Link: https://lore.kernel.org/r/20230808082738.122804-9-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1 parent 6a44298 commit ef4923c

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

drivers/clk/samsung/clk-exynos7885.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
#include "clk.h"
1818
#include "clk-exynos-arm64.h"
1919

20+
/* NOTE: Must be equal to the last clock ID increased by one */
21+
#define CLKS_NR_TOP (CLK_GOUT_FSYS_USB30DRD + 1)
22+
#define CLKS_NR_CORE (CLK_GOUT_TREX_P_CORE_PCLK_P_CORE + 1)
23+
#define CLKS_NR_PERI (CLK_GOUT_WDT1_PCLK + 1)
24+
#define CLKS_NR_FSYS (CLK_GOUT_MMC_SDIO_SDCLKIN + 1)
25+
2026
/* ---- CMU_TOP ------------------------------------------------------------- */
2127

2228
/* Register Offset definitions for CMU_TOP (0x12060000) */
@@ -334,7 +340,7 @@ static const struct samsung_cmu_info top_cmu_info __initconst = {
334340
.nr_div_clks = ARRAY_SIZE(top_div_clks),
335341
.gate_clks = top_gate_clks,
336342
.nr_gate_clks = ARRAY_SIZE(top_gate_clks),
337-
.nr_clk_ids = TOP_NR_CLK,
343+
.nr_clk_ids = CLKS_NR_TOP,
338344
.clk_regs = top_clk_regs,
339345
.nr_clk_regs = ARRAY_SIZE(top_clk_regs),
340346
};
@@ -553,7 +559,7 @@ static const struct samsung_cmu_info peri_cmu_info __initconst = {
553559
.nr_mux_clks = ARRAY_SIZE(peri_mux_clks),
554560
.gate_clks = peri_gate_clks,
555561
.nr_gate_clks = ARRAY_SIZE(peri_gate_clks),
556-
.nr_clk_ids = PERI_NR_CLK,
562+
.nr_clk_ids = CLKS_NR_PERI,
557563
.clk_regs = peri_clk_regs,
558564
.nr_clk_regs = ARRAY_SIZE(peri_clk_regs),
559565
.clk_name = "dout_peri_bus",
@@ -662,7 +668,7 @@ static const struct samsung_cmu_info core_cmu_info __initconst = {
662668
.nr_div_clks = ARRAY_SIZE(core_div_clks),
663669
.gate_clks = core_gate_clks,
664670
.nr_gate_clks = ARRAY_SIZE(core_gate_clks),
665-
.nr_clk_ids = CORE_NR_CLK,
671+
.nr_clk_ids = CLKS_NR_CORE,
666672
.clk_regs = core_clk_regs,
667673
.nr_clk_regs = ARRAY_SIZE(core_clk_regs),
668674
.clk_name = "dout_core_bus",
@@ -744,7 +750,7 @@ static const struct samsung_cmu_info fsys_cmu_info __initconst = {
744750
.nr_mux_clks = ARRAY_SIZE(fsys_mux_clks),
745751
.gate_clks = fsys_gate_clks,
746752
.nr_gate_clks = ARRAY_SIZE(fsys_gate_clks),
747-
.nr_clk_ids = FSYS_NR_CLK,
753+
.nr_clk_ids = CLKS_NR_FSYS,
748754
.clk_regs = fsys_clk_regs,
749755
.nr_clk_regs = ARRAY_SIZE(fsys_clk_regs),
750756
.clk_name = "dout_fsys_bus",

0 commit comments

Comments
 (0)