diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-01-30 07:33:37 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:37 -0500 |
commit | 3eaf5efae72b33bc6132e9590e5d4bf11532f8c4 (patch) | |
tree | 472b023d4220c0d9d49ee4b346625b15983d1f0c | |
parent | 1e296f578a8ef70b314315a2bfc7b036f947803f (diff) |
x86: fix section mismatch warning in topology.c
Fix following warning:
WARNING: arch/x86/kernel/built-in.o(__ksymtab+0x2b0): Section mismatch: reference to .cpuinit.text:arch_register_cpu in '__ksymtab_arch_register_cpu'
Annotating exported symbols are wrong.
Previously the warning were hidden by avoiding the export
in the non HOTPLUG_CPU case but the improved checks in
modpost caught it anyway.
Fix it by removing the __cpuinit annotation and rearrange the
code a bit to save one ifdef/endif pair.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | arch/x86/kernel/topology.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c index a0d1719bda79..78cbb655aa79 100644 --- a/arch/x86/kernel/topology.c +++ b/arch/x86/kernel/topology.c | |||
@@ -33,7 +33,8 @@ | |||
33 | 33 | ||
34 | static DEFINE_PER_CPU(struct x86_cpu, cpu_devices); | 34 | static DEFINE_PER_CPU(struct x86_cpu, cpu_devices); |
35 | 35 | ||
36 | int __cpuinit arch_register_cpu(int num) | 36 | #ifdef CONFIG_HOTPLUG_CPU |
37 | int arch_register_cpu(int num) | ||
37 | { | 38 | { |
38 | /* | 39 | /* |
39 | * CPU0 cannot be offlined due to several | 40 | * CPU0 cannot be offlined due to several |
@@ -44,21 +45,23 @@ int __cpuinit arch_register_cpu(int num) | |||
44 | * Also certain PCI quirks require not to enable hotplug control | 45 | * Also certain PCI quirks require not to enable hotplug control |
45 | * for all CPU's. | 46 | * for all CPU's. |
46 | */ | 47 | */ |
47 | #ifdef CONFIG_HOTPLUG_CPU | ||
48 | if (num) | 48 | if (num) |
49 | per_cpu(cpu_devices, num).cpu.hotpluggable = 1; | 49 | per_cpu(cpu_devices, num).cpu.hotpluggable = 1; |
50 | #endif | ||
51 | |||
52 | return register_cpu(&per_cpu(cpu_devices, num).cpu, num); | 50 | return register_cpu(&per_cpu(cpu_devices, num).cpu, num); |
53 | } | 51 | } |
52 | EXPORT_SYMBOL(arch_register_cpu); | ||
54 | 53 | ||
55 | #ifdef CONFIG_HOTPLUG_CPU | ||
56 | void arch_unregister_cpu(int num) | 54 | void arch_unregister_cpu(int num) |
57 | { | 55 | { |
58 | return unregister_cpu(&per_cpu(cpu_devices, num).cpu); | 56 | return unregister_cpu(&per_cpu(cpu_devices, num).cpu); |
59 | } | 57 | } |
60 | EXPORT_SYMBOL(arch_register_cpu); | ||
61 | EXPORT_SYMBOL(arch_unregister_cpu); | 58 | EXPORT_SYMBOL(arch_unregister_cpu); |
59 | #else | ||
60 | int arch_register_cpu(int num) | ||
61 | { | ||
62 | return register_cpu(&per_cpu(cpu_devices, num).cpu, num); | ||
63 | } | ||
64 | EXPORT_SYMBOL(arch_register_cpu); | ||
62 | #endif /*CONFIG_HOTPLUG_CPU*/ | 65 | #endif /*CONFIG_HOTPLUG_CPU*/ |
63 | 66 | ||
64 | static int __init topology_init(void) | 67 | static int __init topology_init(void) |