arm64: init: Move of_clk_init to time_init
authorChanho Min <chanho.min@lge.com>
Mon, 14 Apr 2014 07:38:53 +0000 (08:38 +0100)
committerMark Brown <broonie@linaro.org>
Wed, 21 May 2014 23:10:31 +0000 (00:10 +0100)
Clock providers should be initialized before clocksource_of_init.
If not, Clock source initialization can be fail to get the clock.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Chanho Min <chanho.min@lge.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit bc3ee18a7a57243721ecfd879319e3d2e882f289)
Signed-off-by: Mark Brown <broonie@linaro.org>
arch/arm64/kernel/setup.c
arch/arm64/kernel/time.c

index b04b6118602a223377f81c845a165ec6cd4dd8c6..6c87fe0f6857c55a2fbf26325d720a37630fb446 100644 (file)
@@ -298,7 +298,6 @@ void __init setup_arch(char **cmdline_p)
 
 static int __init arm64_device_init(void)
 {
-       of_clk_init(NULL);
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
        return 0;
 }
index 03dc3718eb136d24db7295133709a4a9e92c21b5..dbe1c8d8e90ffd91597e2a451a7efeaca7ea55a5 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/irq.h>
 #include <linux/delay.h>
 #include <linux/clocksource.h>
+#include <linux/clk-provider.h>
 
 #include <clocksource/arm_arch_timer.h>
 
@@ -72,6 +73,7 @@ void __init time_init(void)
 {
        u32 arch_timer_rate;
 
+       of_clk_init(NULL);
        clocksource_of_init();
 
        arch_timer_rate = arch_timer_get_rate();