Re: [PATCH] clk: at91: fix at91sam9x5 peripheral clock number

Nicolas.Ferre
2019-02-20T11:18:44Z

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 <alexandre.belloni@bootlin.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: <stable@vger.kernel.org> # 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