RE: [PATCH 01/11] clk: samsung: exynos3250: do not define number of clocks in bindings

From: Alim Akhtar
Date: Thu Aug 10 2023 - 07:06:59 EST




> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: Tuesday, August 8, 2023 1:57 PM
> To: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>; Sylwester
> Nawrocki <s.nawrocki@xxxxxxxxxxx>; Tomasz Figa
> <tomasz.figa@xxxxxxxxx>; Chanwoo Choi <cw00.choi@xxxxxxxxxxx>; Alim
> Akhtar <alim.akhtar@xxxxxxxxxxx>; Michael Turquette
> <mturquette@xxxxxxxxxxxx>; Stephen Boyd <sboyd@xxxxxxxxxx>; Rob
> Herring <robh+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>;
> linux-samsung-soc@xxxxxxxxxxxxxxx; linux-clk@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx
> Subject: [PATCH 01/11] clk: samsung: exynos3250: 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 this number of clocks
should
> not be in the bindings, because otherwise we should not change it.
>
> Define number of clocks per each clock controller inside the driver
directly.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---

Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>

> drivers/clk/samsung/clk-exynos3250.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clk/samsung/clk-exynos3250.c
b/drivers/clk/samsung/clk-
> exynos3250.c
> index 6cc65ccf867c..a02461667664 100644
> --- a/drivers/clk/samsung/clk-exynos3250.c
> +++ b/drivers/clk/samsung/clk-exynos3250.c
> @@ -100,6 +100,11 @@
> #define PWR_CTRL1_USE_CORE1_WFI (1 << 1)
> #define PWR_CTRL1_USE_CORE0_WFI (1 << 0)
>
> +/* NOTE: Must be equal to the last clock ID increased by one */
> +#define CLKS_NR_MAIN (CLK_SCLK_MMC2 +
> 1)
> +#define CLKS_NR_DMC (CLK_DIV_DMCD + 1)
> +#define CLKS_NR_ISP (CLK_SCLK_MPWM_ISP + 1)
> +
> static const unsigned long exynos3250_cmu_clk_regs[] __initconst = {
> SRC_LEFTBUS,
> DIV_LEFTBUS,
> @@ -807,7 +812,7 @@ static const struct samsung_cmu_info cmu_info
> __initconst = {
> .nr_fixed_factor_clks = ARRAY_SIZE(fixed_factor_clks),
> .cpu_clks = exynos3250_cpu_clks,
> .nr_cpu_clks = ARRAY_SIZE(exynos3250_cpu_clks),
> - .nr_clk_ids = CLK_NR_CLKS,
> + .nr_clk_ids = CLKS_NR_MAIN,
> .clk_regs = exynos3250_cmu_clk_regs,
> .nr_clk_regs = ARRAY_SIZE(exynos3250_cmu_clk_regs),
> };
> @@ -923,7 +928,7 @@ static const struct samsung_cmu_info dmc_cmu_info
> __initconst = {
> .nr_mux_clks = ARRAY_SIZE(dmc_mux_clks),
> .div_clks = dmc_div_clks,
> .nr_div_clks = ARRAY_SIZE(dmc_div_clks),
> - .nr_clk_ids = NR_CLKS_DMC,
> + .nr_clk_ids = CLKS_NR_DMC,
> .clk_regs = exynos3250_cmu_dmc_clk_regs,
> .nr_clk_regs =
> ARRAY_SIZE(exynos3250_cmu_dmc_clk_regs),
> };
> @@ -1067,7 +1072,7 @@ static const struct samsung_cmu_info isp_cmu_info
> __initconst = {
> .nr_div_clks = ARRAY_SIZE(isp_div_clks),
> .gate_clks = isp_gate_clks,
> .nr_gate_clks = ARRAY_SIZE(isp_gate_clks),
> - .nr_clk_ids = NR_CLKS_ISP,
> + .nr_clk_ids = CLKS_NR_ISP,
> };
>
> static int __init exynos3250_cmu_isp_probe(struct platform_device *pdev)
> --
> 2.34.1