aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-28 11:50:18 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-28 17:20:37 -0500
commit328386d7ab600aa0993a1226f5817ac30a735724 (patch)
tree884f3504d57f1a88c51768140abb91a1abb9bf05 /arch
parent1f75ed0c1311a50ed393bcac258de65680d360e5 (diff)
x86, smp: refactor ->wake_cpu
- remove macro wrappers Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/mach-default/mach_apic.h2
-rw-r--r--arch/x86/include/asm/mach-generic/mach_apic.h2
-rw-r--r--arch/x86/kernel/setup.c5
-rw-r--r--arch/x86/kernel/smpboot.c4
4 files changed, 4 insertions, 9 deletions
diff --git a/arch/x86/include/asm/mach-default/mach_apic.h b/arch/x86/include/asm/mach-default/mach_apic.h
index b60b767d5be0..bae053cdcde5 100644
--- a/arch/x86/include/asm/mach-default/mach_apic.h
+++ b/arch/x86/include/asm/mach-default/mach_apic.h
@@ -19,10 +19,8 @@ static inline const struct cpumask *default_target_cpus(void)
19#ifdef CONFIG_X86_64 19#ifdef CONFIG_X86_64
20#include <asm/genapic.h> 20#include <asm/genapic.h>
21#define read_apic_id() (apic->get_apic_id(apic_read(APIC_ID))) 21#define read_apic_id() (apic->get_apic_id(apic_read(APIC_ID)))
22#define wakeup_secondary_cpu (apic->wakeup_cpu)
23extern void default_setup_apic_routing(void); 22extern void default_setup_apic_routing(void);
24#else 23#else
25#define wakeup_secondary_cpu wakeup_secondary_cpu_via_init
26/* 24/*
27 * Set up the logical destination ID. 25 * Set up the logical destination ID.
28 * 26 *
diff --git a/arch/x86/include/asm/mach-generic/mach_apic.h b/arch/x86/include/asm/mach-generic/mach_apic.h
index ca460e459913..96f217f819e3 100644
--- a/arch/x86/include/asm/mach-generic/mach_apic.h
+++ b/arch/x86/include/asm/mach-generic/mach_apic.h
@@ -3,8 +3,6 @@
3 3
4#include <asm/genapic.h> 4#include <asm/genapic.h>
5 5
6#define wakeup_secondary_cpu (apic->wakeup_cpu)
7
8extern void generic_bigsmp_probe(void); 6extern void generic_bigsmp_probe(void);
9 7
10#endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */ 8#endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a58e9f5e6030..6b27f6dc7bf7 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -589,9 +589,8 @@ early_param("elfcorehdr", setup_elfcorehdr);
589static int __init default_update_genapic(void) 589static int __init default_update_genapic(void)
590{ 590{
591#ifdef CONFIG_X86_SMP 591#ifdef CONFIG_X86_SMP
592# if defined(CONFIG_X86_GENERICARCH) || defined(CONFIG_X86_64) 592 if (!apic->wakeup_cpu)
593 apic->wakeup_cpu = wakeup_secondary_cpu_via_init; 593 apic->wakeup_cpu = wakeup_secondary_cpu_via_init;
594# endif
595#endif 594#endif
596 595
597 return 0; 596 return 0;
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 1fdc1a7e7b56..3fed177f3457 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -750,7 +750,7 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
750/* 750/*
751 * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad 751 * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
752 * (ie clustered apic addressing mode), this is a LOGICAL apic ID. 752 * (ie clustered apic addressing mode), this is a LOGICAL apic ID.
753 * Returns zero if CPU booted OK, else error code from wakeup_secondary_cpu. 753 * Returns zero if CPU booted OK, else error code from ->wakeup_cpu.
754 */ 754 */
755{ 755{
756 unsigned long boot_error = 0; 756 unsigned long boot_error = 0;
@@ -841,7 +841,7 @@ do_rest:
841 /* 841 /*
842 * Starting actual IPI sequence... 842 * Starting actual IPI sequence...
843 */ 843 */
844 boot_error = wakeup_secondary_cpu(apicid, start_ip); 844 boot_error = apic->wakeup_cpu(apicid, start_ip);
845 845
846 if (!boot_error) { 846 if (!boot_error) {
847 /* 847 /*