提交 3771a450 编写于 作者: V Vivek Goyal 提交者: Linus Torvalds

[PATCH] 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: NVivek Goyal <vgoyal@in.ibm.com>
Cc: Andi Kleen <ak@suse.de>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 9dbeeec9
...@@ -227,7 +227,7 @@ static struct { ...@@ -227,7 +227,7 @@ static struct {
atomic_t count_start; atomic_t count_start;
atomic_t count_stop; atomic_t count_stop;
unsigned long long values[NR_CPUS]; unsigned long long values[NR_CPUS];
} tsc __initdata = { } tsc __cpuinitdata = {
.start_flag = ATOMIC_INIT(0), .start_flag = ATOMIC_INIT(0),
.count_start = ATOMIC_INIT(0), .count_start = ATOMIC_INIT(0),
.count_stop = ATOMIC_INIT(0), .count_stop = ATOMIC_INIT(0),
...@@ -332,7 +332,7 @@ static void __init synchronize_tsc_bp(void) ...@@ -332,7 +332,7 @@ static void __init synchronize_tsc_bp(void)
printk("passed.\n"); printk("passed.\n");
} }
static void __init synchronize_tsc_ap(void) static void __cpuinit synchronize_tsc_ap(void)
{ {
int i; int i;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册