ia64: fix section mismatch in arch/ia64/kernel/palinfo.c
PATCH 1/1 ia64: fix section mismatch in arch/ia64/kernel/palinfo.c
This patch removes following warning:
WARNING: vmlinux.o(.exit.text+0xb1): Section mismatch in reference from the function palinfo_exit() to the variable .cpuinit.data:palinfo_cpu_notifier
Signed-off-by Hidetoshi Seto <[email protected]>
--- arch/ia64/kernel/palinfo.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/ia64/kernel/palinfo.c +0 -1
@@ -1053,7 +1053,7 @@ static int __cpuinit palinfo_cpu_callback(struct notifier_block *nfb,return NOTIFY_OK ; } -static struct notifier_block palinfo_cpu_notifier __cpuinitdata +static struct notifier_block __refdata palinfo_cpu_notifier { .notifier_call = palinfo_cpu_callback, .priority = 0,
PATCH 1/1 ia64: fix section mismatch in arch/ia64/kernel/irq.c
This patch shuts up the following:
WARNING: vmlinux.o(.text+0x7102): Section mismatch in reference from the function fixup_irqs() to the function .devinit.text:ia64_disable_timer()
Removing ia64_disable_timer() is safe because there are no functions calling it other than the fixup_irqs(),
Signed-off-by Hidetoshi Seto <[email protected]>
--- arch/ia64/kernel/irq.c | 4 ++-- arch/ia64/kernel/time.c | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-)
arch/ia64/kernel/irq.c +2 -2
@@ -183,10 +183,10 @@ void fixup_irqs(void) {unsigned int irq;extern void ia64_process_pending_intr (void ); -extern void ia64_disable_timer (void );extern volatile int time_keeper_id; -ia64_disable_timer (); +/* Mask ITV to disable timer */ +ia64_set_itv (1 <<16 );/* * Find a new timesync master
arch/ia64/kernel/time.c +0 -5
@@ -379,11 +379,6 @@ static struct irqaction timer_irqaction = { .name = "timer" }; -void __devinit ia64_disable_timer (void ) -{ -ia64_set_itv (1 <<16 ); -} -void __init time_init (void ) {
PATCH 1/1 ia64: fix section mismatch in arch/ia64/kernel/topology.c
In reply to Hidetoshi SetoThis patch silences:
WARNING: vmlinux.o(.text+0x44672): Section mismatch in reference from the function arch_register_cpu() to the function .cpuinit.text:register_cpu()
Changes are based on codes in arch/x86/kernel/topology.c
Signed-off-by Hidetoshi Seto <[email protected]>
--- arch/ia64/kernel/topology.c | 16 ++++++++++------ include/asm-ia64/cpu.h | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-)
arch/ia64/kernel/topology.c +10 -6
@@ -36,9 +36,11 @@ void arch_fix_phys_package_id(int num, u32 slot) }EXPORT_SYMBOL_GPL (arch_fix_phys_package_id); -int arch_register_cpu (int num) + +#ifdef CONFIG_HOTPLUG_CPU +int __ref arch_register_cpu (int num) { -#if defined (CONFIG_ACPI ) && defined (CONFIG_HOTPLUG_CPU ) +#ifdef CONFIG_ACPI /* * If CPEI can be re-targetted or if this is not * CPEI target, then it is hotpluggable
@@ -47,19 +49,21 @@ int arch_register_cpu(int num) sysfs_cpus[num].cpu.hotpluggable =1 ;map_cpu_to_node (num, node_cpuid[num].nid);#endif - return register_cpu(&sysfs_cpus[num].cpu, num); } - -#ifdef CONFIG_HOTPLUG_CPU +EXPORT_SYMBOL (arch_register_cpu);void arch_unregister_cpu (int num) {unregister_cpu (&sysfs_cpus[num].cpu);unmap_cpu_from_node (num,cpu_to_node (num)); } -EXPORT_SYMBOL (arch_register_cpu);EXPORT_SYMBOL (arch_unregister_cpu); +#else +static int __init arch_register_cpu (int num) +{ +return register_cpu (&sysfs_cpus[num].cpu, num); +}#endif /*CONFIG_HOTPLUG_CPU*/
include/asm-ia64/cpu.h +1 -1
@@ -14,8 +14,8 @@ DECLARE_PER_CPU(struct ia64_cpu, cpu_devices);DECLARE_PER_CPU (int, cpu_state); -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
PATCH 1/1 ia64: fix section mismatch in arch/ia64/kernel/acpi.c
In reply to Hidetoshi SetoThis patch kills:
WARNING: vmlinux.o(.text+0x1702): Section mismatch in reference from the function acpi_register_ioapic() to the function .devinit.text:iosapic_init()
Signed-off-by Hidetoshi Seto <[email protected]>
--- arch/ia64/kernel/acpi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/ia64/kernel/acpi.c +1 -1
@@ -966,7 +966,7 @@ acpi_map_iosapics (void)fs_initcall (acpi_map_iosapics);#endif /* CONFIG_ACPI_NUMA */ -int acpi_register_ioapic (acpi_handle handle,u64 phys_addr,u32 gsi_base) +int __ref acpi_register_ioapic (acpi_handle handle,u64 phys_addr,u32 gsi_base) {int err;