On 19/02/2019 at 17:51, Alexandre Belloni wrote:
> nck() looks at the last id in an array and unfortunately,
> at91sam9x35_periphck has a sentinel, hence the id is 0 and the calculated
> number of peripheral clocks is 1 instead of a maximum of 31.
> 
> Fixes: 1eabdc2f9dd8 ("clk: at91: add at91sam9x5 PMCs driver")
> Signed-off-by: Alexandre Belloni <[email protected]>

Acked-by: Nicolas Ferre <[email protected]>
Cc: <[email protected]> # v4.20+

It would be nice to queue it as a fix the soonest, as it impacts 5.0 but 
not 4.20 due to a switch from one DT binding to another (read: a real 
regression)... But I know it's a bit late in the cycle...

Regards,
   Nicolas

> ---
>   drivers/clk/at91/at91sam9x5.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c
> index 2fe225a697df..d37e7ed9eb90 100644
> --- a/drivers/clk/at91/at91sam9x5.c
> +++ b/drivers/clk/at91/at91sam9x5.c
> @@ -144,8 +144,7 @@ static void __init at91sam9x5_pmc_setup(struct 
> device_node *np,
>               return;
>   
>       at91sam9x5_pmc = pmc_data_allocate(PMC_MAIN + 1,
> -                                        nck(at91sam9x5_systemck),
> -                                        nck(at91sam9x35_periphck), 0);
> +                                        nck(at91sam9x5_systemck), 31, 0);
>       if (!at91sam9x5_pmc)
>               return;
>   
> 


-- 
Nicolas Ferre

Reply via email to