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>
.long __turn_mmu_on_end
#if defined(CONFIG_SMP)
- __CPUINIT
ENTRY(secondary_startup)
/*
* Common entry point for secondary CPUs.
* 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 {
IPI_WAKEUP,