x86: remove update_apic from x86_quirks, fix
authorIngo Molnar <mingo@elte.hu>
Thu, 26 Feb 2009 11:47:40 +0000 (12:47 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 26 Feb 2009 11:49:34 +0000 (12:49 +0100)
Impact: build fix

wakeup_secondary_cpu_via_init(), the default platform method for
booting a secondary CPU, is always used on UP due to probe_32.c,
if CONFIG_X86_LOCAL_APIC is enabled but SMP is off.

So provide a UP wrapper inline as well.

Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/apic.h

index 24e21273e30b355e7b6f13d127276f8e062c7a54..0fbf6f1520fabcaacc2d75541dc173c0192de390 100644 (file)
@@ -331,10 +331,27 @@ struct apic {
        u32 (*safe_wait_icr_idle)(void);
 };
 
+/*
+ * Pointer to the local APIC driver in use on this system (there's
+ * always just one such driver in use - the kernel decides via an
+ * early probing process which one it picks - and then sticks to it):
+ */
 extern struct apic *apic;
+
+/*
+ * APIC functionality to boot other CPUs - only used on SMP:
+ */
+#ifdef CONFIG_SMP
 extern atomic_t init_deasserted;
 extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip);
 extern int wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip);
+#else
+static inline int
+wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip)
+{
+       return 0;
+}
+#endif
 
 static inline u32 apic_read(u32 reg)
 {