diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2014-01-27 01:08:17 -0500 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2014-02-06 11:15:08 +0000 |
commit | 20356b174b3fecbb6607285e7bdade6d73331f96 (patch) | |
tree | bdcaa2e4bc6cfda9654d4e66981ba7f2a6e509b2 | |
parent | 1e941e95748f841d3e376c3a31e6aad0ca63291f (diff) |
ARM64: get rid of arch_cpu_idle_prepare()
ARM and ARM64 are the only two architectures implementing
arch_cpu_idle_prepare() simply to call local_fiq_enable().
We have secondary_start_kernel() already calling local_fiq_enable() and
this is done a second time in arch_cpu_idle_prepare() in that case. And
enabling FIQs has nothing to do with idling the CPU to start with.
So let's introduce init_fiq_boot_cpu() to take care of FIQs on the boot
CPU and remove arch_cpu_idle_prepare(). This is now done a bit earlier
at late_initcall time but this shouldn't make a difference in practice
given that FIQs are not currently used on ARM64.
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
-rw-r--r-- | arch/arm64/kernel/setup.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index c8e9effe52e1..5effc855d5e4 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -362,6 +362,13 @@ static int __init arm64_device_init(void) } arch_initcall(arm64_device_init); +static int __init init_fiq_boot_cpu(void) +{ + local_fiq_enable(); + return 0; +} +late_initcall(init_fiq_boot_cpu); + static DEFINE_PER_CPU(struct cpu, cpu_data); static int __init topology_init(void) |