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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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





[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux