diff options
author | Rob Herring <robh@kernel.org> | 2016-07-26 19:46:30 +0300 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2016-07-26 23:04:01 +0300 |
commit | e973f4ec130ac0eefb9e69b5139ed8a2768250aa (patch) | |
tree | 121da958590ed6d72dd87326cd89447119ae7fc7 | |
parent | d02014b2b764f058366b2f9dd425915fb900687c (diff) | |
download | linux-e973f4ec130ac0eefb9e69b5139ed8a2768250aa.tar.xz |
xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
This partially reverts commit 69d99e6c0d62 keeping only the main
purpose of the original commit which is the removal of
of_platform_populate() call. The moving of of_clk_init() caused changes
in the initialization order breaking booting.
Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table")
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Tested-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
-rw-r--r-- | arch/xtensa/kernel/setup.c | 9 | ||||
-rw-r--r-- | arch/xtensa/kernel/time.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 6f68c6045a70..143251ede897 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -22,6 +22,7 @@ #include <linux/bootmem.h> #include <linux/kernel.h> #include <linux/percpu.h> +#include <linux/clk-provider.h> #include <linux/cpu.h> #include <linux/of.h> #include <linux/of_fdt.h> @@ -251,6 +252,14 @@ void __init early_init_devtree(void *params) strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); } +static int __init xtensa_device_probe(void) +{ + of_clk_init(NULL); + return 0; +} + +device_initcall(xtensa_device_probe); + #endif /* CONFIG_OF */ /* diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c index 6ec73c9f415d..b9ad9feadc2d 100644 --- a/arch/xtensa/kernel/time.c +++ b/arch/xtensa/kernel/time.c @@ -15,7 +15,6 @@ #include <linux/errno.h> #include <linux/sched.h> #include <linux/time.h> -#include <linux/clk-provider.h> #include <linux/clocksource.h> #include <linux/clockchips.h> #include <linux/interrupt.h> @@ -149,7 +148,6 @@ void __init time_init(void) local_timer_setup(0); setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction); sched_clock_register(ccount_sched_clock_read, 32, ccount_freq); - of_clk_init(NULL); clocksource_probe(); } |