diff options
| author | Rob Herring <robh@kernel.org> | 2016-07-26 12:46:30 -0400 |
|---|---|---|
| committer | Rob Herring <robh@kernel.org> | 2016-07-26 16:04:01 -0400 |
| commit | e973f4ec130ac0eefb9e69b5139ed8a2768250aa (patch) | |
| tree | 121da958590ed6d72dd87326cd89447119ae7fc7 /arch/xtensa | |
| parent | d02014b2b764f058366b2f9dd425915fb900687c (diff) | |
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>
Diffstat (limited to 'arch/xtensa')
| -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 @@ | |||
| 22 | #include <linux/bootmem.h> | 22 | #include <linux/bootmem.h> |
| 23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
| 24 | #include <linux/percpu.h> | 24 | #include <linux/percpu.h> |
| 25 | #include <linux/clk-provider.h> | ||
| 25 | #include <linux/cpu.h> | 26 | #include <linux/cpu.h> |
| 26 | #include <linux/of.h> | 27 | #include <linux/of.h> |
| 27 | #include <linux/of_fdt.h> | 28 | #include <linux/of_fdt.h> |
| @@ -251,6 +252,14 @@ void __init early_init_devtree(void *params) | |||
| 251 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); | 252 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); |
| 252 | } | 253 | } |
| 253 | 254 | ||
| 255 | static int __init xtensa_device_probe(void) | ||
| 256 | { | ||
| 257 | of_clk_init(NULL); | ||
| 258 | return 0; | ||
| 259 | } | ||
| 260 | |||
| 261 | device_initcall(xtensa_device_probe); | ||
| 262 | |||
| 254 | #endif /* CONFIG_OF */ | 263 | #endif /* CONFIG_OF */ |
| 255 | 264 | ||
| 256 | /* | 265 | /* |
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 @@ | |||
| 15 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
| 16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
| 17 | #include <linux/time.h> | 17 | #include <linux/time.h> |
| 18 | #include <linux/clk-provider.h> | ||
| 19 | #include <linux/clocksource.h> | 18 | #include <linux/clocksource.h> |
| 20 | #include <linux/clockchips.h> | 19 | #include <linux/clockchips.h> |
| 21 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
| @@ -149,7 +148,6 @@ void __init time_init(void) | |||
| 149 | local_timer_setup(0); | 148 | local_timer_setup(0); |
| 150 | setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction); | 149 | setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction); |
| 151 | sched_clock_register(ccount_sched_clock_read, 32, ccount_freq); | 150 | sched_clock_register(ccount_sched_clock_read, 32, ccount_freq); |
| 152 | of_clk_init(NULL); | ||
| 153 | clocksource_probe(); | 151 | clocksource_probe(); |
| 154 | } | 152 | } |
| 155 | 153 | ||
