From d987402695f16ae33999d7315b915099d64616d4 Mon Sep 17 00:00:00 2001 From: Alexander van Heukelum Date: Fri, 1 Feb 2008 17:49:43 +0100 Subject: [PATCH] x86: avoid section mismatch involving arch_register_cpu Avoid section mismatch involving arch_register_cpu. Marking arch_register_cpu as __init and removing the export for non-hotplug-cpu configurations makes the following warning go away: Section mismatch in reference from the function arch_register_cpu() to the function .devinit.text:register_cpu() The function arch_register_cpu() references the function __devinit register_cpu(). This is often because arch_register_cpu lacks a __devinit annotation or the annotation of register_cpu is wrong. The only external user of arch_register_cpu in the tree is in drivers/acpi/processor_core.c where it is guarded by ACPI_HOTPLUG_CPU (which depends on HOTPLUG_CPU). Signed-off-by: Alexander van Heukelum CC: Sam Ravnborg Signed-off-by: Ingo Molnar --- arch/x86/kernel/topology.c | 3 +-- include/asm-x86/cpu.h | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c index 78cbb65..e6757aa 100644 --- a/arch/x86/kernel/topology.c +++ b/arch/x86/kernel/topology.c @@ -57,11 +57,10 @@ void arch_unregister_cpu(int num) } EXPORT_SYMBOL(arch_unregister_cpu); #else -int arch_register_cpu(int num) +static int __init arch_register_cpu(int num) { return register_cpu(&per_cpu(cpu_devices, num).cpu, num); } -EXPORT_SYMBOL(arch_register_cpu); #endif /*CONFIG_HOTPLUG_CPU*/ static int __init topology_init(void) diff --git a/include/asm-x86/cpu.h b/include/asm-x86/cpu.h index 85ece5f..73f2ea8 100644 --- a/include/asm-x86/cpu.h +++ b/include/asm-x86/cpu.h @@ -10,8 +10,9 @@ struct x86_cpu { struct cpu cpu; }; -extern int arch_register_cpu(int num); + #ifdef CONFIG_HOTPLUG_CPU +extern int arch_register_cpu(int num); extern void arch_unregister_cpu(int); #endif -- 2.7.4