diff options
authorJon Medhurst (Tixy) <tixy@linaro.org>2013-09-10 12:01:44 +0800
committerAlex Shi <alex.shi@linaro.org>2013-09-11 22:52:56 +0800
commit98ff17449dd2a9f3bb664120a95ada62d1984acb (patch)
parent19c4b0592637d5948e8eb1f93b5f40c2f556f903 (diff)
ARM: kernel: Fix section mismatches caused by commit bba0859a99
Commit bba0859a99 (arm: versatile: don't mark pen as __INIT) introduced the following section mismatch warnings: WARNING: vmlinux.o(.text+0x18208): Section mismatch in reference from the variable pen to the function .cpuinit.text:secondary_startup() WARNING: vmlinux.o(.text+0x18210): Section mismatch in reference from the variable pen to the variable .cpuinit.data:pen_release The first is handled by removing __cpuinitdata from pen_release. This also fixes and potential bug because the issue commit bba0859a99 was aimed at fixing meant a CPU not known to the kernel could be spinning forever in versatile_secondary_startup and polling this pen_release variable, so it is important its memory isn't discarded and reused after boot. The second section mismatch warning is removed by taking __CPUINIT away from before secondary_startup. Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Alex Shi <alex.shi@linaro.org>
2 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 8bac553fe21..2725c87fade 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -342,7 +342,6 @@ __turn_mmu_on_loc:
.long __turn_mmu_on_end
#if defined(CONFIG_SMP)
* Common entry point for secondary CPUs.
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 5919eb451bb..7bb63b4ef45 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -57,7 +57,7 @@ struct secondary_data secondary_data;
* control for which core is the next to come out of the secondary
* boot "holding pen"
-volatile int __cpuinitdata pen_release = -1;
+volatile int pen_release = -1;
enum ipi_msg_type {