voyager would conflict with it, but the types are ultimately
compatible. So remove the extern definition from voyager_smp.c
in favour of the common one
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
                :"m" (current->thread.sp),"m" (current->thread.ip));
 }
 
-/* Static state in head.S used to set up a CPU */
-extern struct {
-       void * sp;
-       unsigned short ss;
-} stack_start;
-
 static inline void __inquire_remote_apic(int apicid)
 {
        unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 };
 
            & ~(voyager_extended_vic_processors
                & voyager_allowed_boot_processors);
 
-       /* This is an area in head.S which was used to set up the
-        * initial kernel stack.  We need to alter this to give the
-        * booting CPU a new stack (taken from its idle process) */
-       extern struct {
-               __u8 *sp;
-               unsigned short ss;
-       } stack_start;
        /* This is the format of the CPI IDT gate (in real mode) which
         * we're hijacking to boot the CPU */
        union IDTFormat {
 
 extern const unsigned char trampoline_end  [];
 extern unsigned char *trampoline_base;
 
+/* Static state in head.S used to set up a CPU */
+extern struct {
+       void *sp;
+       unsigned short ss;
+} stack_start;
+
+
 struct smp_ops {
        void (*smp_prepare_boot_cpu)(void);
        void (*smp_prepare_cpus)(unsigned max_cpus);