diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index e5534f19c312f161c2dff916d4c83848fd002c92..21472cea3d6cb39f6d8f6da392434d5e629b94c2 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -5,6 +5,19 @@
 #include <linux/init.h>
 #include <asm/percpu.h>
 
+/*
+ * We need the APIC definitions automatically as part of 'smp.h'
+ */
+#ifdef CONFIG_X86_LOCAL_APIC
+# include <asm/mpspec.h>
+# include <asm/apic.h>
+# ifdef CONFIG_X86_IO_APIC
+#  include <asm/io_apic.h>
+# endif
+#endif
+#include <asm/pda.h>
+#include <asm/thread_info.h>
+
 extern cpumask_t cpu_callout_map;
 
 extern int smp_num_siblings;
diff --git a/include/asm-x86/smp_32.h b/include/asm-x86/smp_32.h
index 53432dbd54268dd8599864ce897b2f51040553e4..694d3245a88f1d5aac92df9490449022d241d930 100644
--- a/include/asm-x86/smp_32.h
+++ b/include/asm-x86/smp_32.h
@@ -2,19 +2,6 @@
 #define __ASM_SMP_H
 
 #ifndef __ASSEMBLY__
-#include <linux/cpumask.h>
-#include <linux/init.h>
-
-/*
- * We need the APIC definitions automatically as part of 'smp.h'
- */
-#ifdef CONFIG_X86_LOCAL_APIC
-# include <asm/mpspec.h>
-# include <asm/apic.h>
-# ifdef CONFIG_X86_IO_APIC
-#  include <asm/io_apic.h>
-# endif
-#endif
 
 extern cpumask_t cpu_callin_map;
 
diff --git a/include/asm-x86/smp_64.h b/include/asm-x86/smp_64.h
index b83151d7388cdd52813590b03d99961a24442159..eead92e30b2938ddc09d9aa134b4fb34a3260aaf 100644
--- a/include/asm-x86/smp_64.h
+++ b/include/asm-x86/smp_64.h
@@ -1,22 +1,6 @@
 #ifndef __ASM_SMP_H
 #define __ASM_SMP_H
 
-#include <linux/cpumask.h>
-#include <linux/init.h>
-
-/*
- * We need the APIC definitions automatically as part of 'smp.h'
- */
-#ifdef CONFIG_X86_LOCAL_APIC
-#  include <asm/mpspec.h>
-#  include <asm/apic.h>
-#  ifdef CONFIG_X86_IO_APIC
-#   include <asm/io_apic.h>
-#  endif
-#endif
-#include <asm/pda.h>
-#include <asm/thread_info.h>
-
 extern cpumask_t cpu_initialized;
 extern cpumask_t cpu_callin_map;