Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/headers: Remove APIC headers from <asm/smp.h>

The APIC headers are relatively complex and bring in additional
header dependencies - while smp.h is a relatively simple header
included from high level headers.

Remove the dependency and add in the missing #include's in .c
files where they gained it indirectly before.

Signed-off-by: Ingo Molnar <mingo@kernel.org>

+18 -10
-10
arch/x86/include/asm/smp.h
··· 5 5 #include <linux/cpumask.h> 6 6 #include <asm/percpu.h> 7 7 8 - /* 9 - * We need the APIC definitions automatically as part of 'smp.h' 10 - */ 11 - #ifdef CONFIG_X86_LOCAL_APIC 12 - # include <asm/mpspec.h> 13 - # include <asm/apic.h> 14 - # ifdef CONFIG_X86_IO_APIC 15 - # include <asm/io_apic.h> 16 - # endif 17 - #endif 18 8 #include <asm/thread_info.h> 19 9 #include <asm/cpumask.h> 20 10
+1
arch/x86/include/asm/tsc.h
··· 6 6 #define _ASM_X86_TSC_H 7 7 8 8 #include <asm/processor.h> 9 + #include <asm/cpufeature.h> 9 10 10 11 #define NS_SCALE 10 /* 2^10, carefully chosen */ 11 12 #define US_SCALE 32 /* 2^32, arbitralrily chosen */
+1
arch/x86/kernel/apic/apic.c
··· 47 47 #include <asm/proto.h> 48 48 #include <asm/traps.h> 49 49 #include <asm/apic.h> 50 + #include <asm/acpi.h> 50 51 #include <asm/io_apic.h> 51 52 #include <asm/desc.h> 52 53 #include <asm/hpet.h>
+1
arch/x86/kernel/apic/bigsmp_32.c
··· 9 9 #include <linux/smp.h> 10 10 11 11 #include <asm/apic.h> 12 + #include <asm/io_apic.h> 12 13 13 14 #include "local.h" 14 15
+1
arch/x86/kernel/apic/ipi.c
··· 2 2 3 3 #include <linux/cpumask.h> 4 4 #include <linux/smp.h> 5 + #include <asm/io_apic.h> 5 6 6 7 #include "local.h" 7 8
+1
arch/x86/kernel/apic/local.h
··· 10 10 11 11 #include <linux/jump_label.h> 12 12 13 + #include <asm/irq_vectors.h> 13 14 #include <asm/apic.h> 14 15 15 16 /* APIC flat 64 */
+1
arch/x86/kernel/apic/probe_32.c
··· 10 10 #include <linux/errno.h> 11 11 #include <linux/smp.h> 12 12 13 + #include <asm/io_apic.h> 13 14 #include <asm/apic.h> 14 15 #include <asm/acpi.h> 15 16
+1
arch/x86/kernel/devicetree.c
··· 20 20 #include <asm/irqdomain.h> 21 21 #include <asm/hpet.h> 22 22 #include <asm/apic.h> 23 + #include <asm/io_apic.h> 23 24 #include <asm/pci_x86.h> 24 25 #include <asm/setup.h> 25 26 #include <asm/i8259.h>
+2
arch/x86/kernel/irqinit.c
··· 22 22 #include <asm/timer.h> 23 23 #include <asm/hw_irq.h> 24 24 #include <asm/desc.h> 25 + #include <asm/io_apic.h> 26 + #include <asm/acpi.h> 25 27 #include <asm/apic.h> 26 28 #include <asm/setup.h> 27 29 #include <asm/i8259.h>
+1
arch/x86/kernel/jailhouse.c
··· 13 13 #include <linux/reboot.h> 14 14 #include <linux/serial_8250.h> 15 15 #include <asm/apic.h> 16 + #include <asm/io_apic.h> 16 17 #include <asm/cpu.h> 17 18 #include <asm/hypervisor.h> 18 19 #include <asm/i8259.h>
+2
arch/x86/kernel/mpparse.c
··· 19 19 #include <linux/smp.h> 20 20 #include <linux/pci.h> 21 21 22 + #include <asm/io_apic.h> 23 + #include <asm/acpi.h> 22 24 #include <asm/irqdomain.h> 23 25 #include <asm/mtrr.h> 24 26 #include <asm/mpspec.h>
+1
arch/x86/kernel/setup.c
··· 25 25 #include <xen/xen.h> 26 26 27 27 #include <asm/apic.h> 28 + #include <asm/numa.h> 28 29 #include <asm/bios_ebda.h> 29 30 #include <asm/bugs.h> 30 31 #include <asm/cpu.h>
+1
arch/x86/kernel/topology.c
··· 31 31 #include <linux/init.h> 32 32 #include <linux/smp.h> 33 33 #include <linux/irq.h> 34 + #include <asm/io_apic.h> 34 35 #include <asm/cpu.h> 35 36 36 37 static DEFINE_PER_CPU(struct x86_cpu, cpu_devices);
+1
arch/x86/xen/apic.c
··· 3 3 4 4 #include <asm/x86_init.h> 5 5 #include <asm/apic.h> 6 + #include <asm/io_apic.h> 6 7 #include <asm/xen/hypercall.h> 7 8 8 9 #include <xen/xen.h>
+1
arch/x86/xen/enlighten_hvm.c
··· 11 11 12 12 #include <asm/cpu.h> 13 13 #include <asm/smp.h> 14 + #include <asm/io_apic.h> 14 15 #include <asm/reboot.h> 15 16 #include <asm/setup.h> 16 17 #include <asm/idtentry.h>
+1
arch/x86/xen/smp_pv.c
··· 29 29 #include <asm/idtentry.h> 30 30 #include <asm/desc.h> 31 31 #include <asm/cpu.h> 32 + #include <asm/io_apic.h> 32 33 33 34 #include <xen/interface/xen.h> 34 35 #include <xen/interface/vcpu.h>
+1
drivers/iommu/intel/irq_remapping.c
··· 15 15 #include <linux/irqdomain.h> 16 16 #include <linux/crash_dump.h> 17 17 #include <asm/io_apic.h> 18 + #include <asm/apic.h> 18 19 #include <asm/smp.h> 19 20 #include <asm/cpu.h> 20 21 #include <asm/irq_remapping.h>