summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2014-01-27 01:08:17 -0500
committerDaniel Lezcano <daniel.lezcano@linaro.org>2014-02-06 11:15:08 +0000
commit20356b174b3fecbb6607285e7bdade6d73331f96 (patch)
treebdcaa2e4bc6cfda9654d4e66981ba7f2a6e509b2
parent1e941e95748f841d3e376c3a31e6aad0ca63291f (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.c7
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)