diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-02-01 11:49:41 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-02-01 11:49:41 -0500 |
commit | 69e97c028b25ef10018d513ead6e7caad276e19f (patch) | |
tree | 307300ac0748c822be2f0c733302b89968e9cead | |
parent | 32ed937d0596e849e1976791e78c006cee8356ca (diff) |
x86: silence section mismatch warning in smpboot_64.c
Silence the following warning:
WARNING: o-x86_64/arch/x86/kernel/built-in.o(.text+0x17cd3): Section mismatch in reference from the function remove_cpu_from_maps() to the variable .cpuinit.data:cpu_initialized
remove_cpu:maps() had a single user: __cpu_disable() so
mark it static and annotate it with __ref to silence the
warning from modpost.
_cpu_disable() has a single user in kernel/cpu.c:
=> take_cpu_down()
which again has a single user in the following call:
=> __stop_machine_run(take_cpu_down, &tcd_param, cpu);
Here a kthread is created.
So maybe the warning is correct and the right fix is to
remove the __cpuinitdata annotation of cpu_initialized?
Note: The analysis were disturbed by the fact that we had a variable
with the same name in cpu/common.c - but this is 32 bit only]
Note: Should smpboot_64 use cpu_clear()?
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/smpboot_64.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c index cc64b8085c2a..d53bd6fcb428 100644 --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c | |||
@@ -1019,7 +1019,7 @@ static void remove_siblinginfo(int cpu) | |||
1019 | cpu_clear(cpu, cpu_sibling_setup_map); | 1019 | cpu_clear(cpu, cpu_sibling_setup_map); |
1020 | } | 1020 | } |
1021 | 1021 | ||
1022 | void remove_cpu_from_maps(void) | 1022 | static void __ref remove_cpu_from_maps(void) |
1023 | { | 1023 | { |
1024 | int cpu = smp_processor_id(); | 1024 | int cpu = smp_processor_id(); |
1025 | 1025 | ||