diff mbox series

[v4,01/21] riscv: Fix kernel time_init()

Message ID 20201202032500.206346-2-damien.lemoal@wdc.com
State Superseded
Headers show
Series RISC-V Kendryte K210 support improvements | expand

Commit Message

Damien Le Moal Dec. 2, 2020, 3:24 a.m. UTC
If of_clk_init() is not called in time_init(), clock providers defined
in the system device tree are not initialized, resulting in failures for
other devices to initialize due to missing clocks.
Similarly to other architectures and to the default kernel time_init()
implementation, call of_clk_init() before executing timer_probe() in
time_init().

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 arch/riscv/kernel/time.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Stephen Boyd Dec. 5, 2020, 5:41 a.m. UTC | #1
Quoting Damien Le Moal (2020-12-01 19:24:40)
> If of_clk_init() is not called in time_init(), clock providers defined

> in the system device tree are not initialized, resulting in failures for

> other devices to initialize due to missing clocks.

> Similarly to other architectures and to the default kernel time_init()

> implementation, call of_clk_init() before executing timer_probe() in

> time_init().

> 

> Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>

> ---


Acked-by: Stephen Boyd <sboyd@kernel.org>
diff mbox series

Patch

diff --git a/arch/riscv/kernel/time.c b/arch/riscv/kernel/time.c
index 4d3a1048ad8b..8a5cf99c0776 100644
--- a/arch/riscv/kernel/time.c
+++ b/arch/riscv/kernel/time.c
@@ -4,6 +4,7 @@ 
  * Copyright (C) 2017 SiFive
  */
 
+#include <linux/of_clk.h>
 #include <linux/clocksource.h>
 #include <linux/delay.h>
 #include <asm/sbi.h>
@@ -24,6 +25,8 @@  void __init time_init(void)
 	riscv_timebase = prop;
 
 	lpj_fine = riscv_timebase / HZ;
+
+	of_clk_init(NULL);
 	timer_probe();
 }