i386: modpost smpboot code warning fix
PATCH 3/4 i386: modpost smpboot code warning fix
o Currently synchronize_tsc_ap() is of type __init. It is called by smp_callin() which is of type __cpuinit. So synchronize_tsc_ap() should be of type __cpuinit.
o Modpost generates warnings for i386 if CONFIG_RELOCATABLE=y and CONFIG_HOTPLUG_CPU=y
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc01164dc) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc01164e8) and 'initialize_secondary'
o tsc is of type __initdata. It should be of type __cpuinitdata.
Signed-off-by Vivek Goyal <[email protected]>
---
arch/i386/kernel/smpboot.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/i386/kernel/smpboot.c renamed from arch/i386/kernel/smpboot.c~i386-modpost-smpboot-code-warning-fixes +2 -2
@@ -227,7 +227,7 @@ static struct {atomic_t count_start;atomic_t count_stop;unsigned long long values[NR_CPUS ]; -} tsc __initdata = { +} tsc __cpuinitdata = { .start_flag = ATOMIC_INIT(0), .count_start = ATOMIC_INIT(0), .count_stop = ATOMIC_INIT(0),
@@ -332,7 +332,7 @@ static void __init synchronize_tsc_bp(voprintk ("passed.\n" ); } -static void __init synchronize_tsc_ap (void ) +static void __cpuinit synchronize_tsc_ap (void ) {int i;
_