We plan to restructure x86 interrupt code based on hierarchy irqdomain, that is to build irqdomains for CPU vector, interrupt remapping unit, IOAPIC, MSI and HPET etc and orgonize those irqdomains in hierarchy mode. This patchset is preparation work to enable hierarchy irqdomain on x86 platforms. It splits out code for vector management, MSI, HTIRQ from ioapic.c into separate files. It also introduces some helper functions to access irq_cfg, which will ease transition to hierarchy irqdomain later. It's based on patchset at: https://lkml.org/lkml/2014/9/24/206 And you may access it at: https://github.com/jiangliu/linux.git irqdomain/p1v2 V1->V2: 1) fix a building failure found by 0day test bed 2) rebase to latest upstream kernel Jiang Liu (17): x86, irq, ACPI: Fix building warning of unused code x86, irq: Kill fourth parameter of IO_APIC_get_PCI_irq_vector() x86, irq: Refine hw_irq.h to prepare for irqdomain support x86, irq: Rename local APIC related functions in io_apic.c as apic_xxx() x86, irq: Protect __clear_irq_vector() with vector_lock x86, irq: Introduce helpers to access struct irq_cfg x86, irq: Move local APIC related code from io_apic.c into vector.c x86, irq: Replace printk(KERN_LVL) with pr_lvl() utilities x86, irq: Move PCI MSI related code from io_apic.c into msi.c x86, irq: Move HT IRQ related code from io_apic.c into htirq.c x86, irq: Move IOAPIC related declarations from hw_irq.h into io_apic.h x86, irq: Move IRQ initialization routines from io_apic.c into vector.c x86, irq: Make MSI and HT_IRQ indepenent of X86_IO_APIC x86, irq: Use helpers to access irq_cfg data structure associated with IRQ x86: irq_remapping: Use helpers to access irq_cfg data structure associated with IRQ iommu/vt-d: Use helpers to access irq_cfg data structure associated with IRQ iommu/amd: Use helpers to access irq_cfg data structure associated with IRQ Yinghai Lu (1): x86, irq: Convert irq_2_pin list to generic list arch/x86/Kconfig | 6 +- arch/x86/include/asm/hw_irq.h | 76 +-- arch/x86/include/asm/io_apic.h | 29 +- arch/x86/include/asm/pci.h | 3 + arch/x86/kernel/acpi/boot.c | 2 + arch/x86/kernel/apic/Makefile | 4 +- arch/x86/kernel/apic/htirq.c | 106 ++++ arch/x86/kernel/apic/io_apic.c | 1096 ++--------------------------------- arch/x86/kernel/apic/msi.c | 283 +++++++++ arch/x86/kernel/apic/vector.c | 716 +++++++++++++++++++++++ arch/x86/kernel/crash.c | 1 + arch/x86/kernel/irqinit.c | 22 - arch/x86/kernel/machine_kexec_32.c | 1 + arch/x86/kernel/machine_kexec_64.c | 1 + arch/x86/kernel/reboot.c | 1 + arch/x86/pci/irq.c | 6 +- arch/x86/platform/uv/uv_irq.c | 6 +- drivers/iommu/amd_iommu.c | 14 +- drivers/iommu/intel_irq_remapping.c | 10 +- drivers/iommu/irq_remapping.c | 6 +- drivers/pci/Kconfig | 2 +- drivers/pci/hotplug/ibmphp_core.c | 5 +- 22 files changed, 1230 insertions(+), 1166 deletions(-) create mode 100644 arch/x86/kernel/apic/htirq.c create mode 100644 arch/x86/kernel/apic/msi.c create mode 100644 arch/x86/kernel/apic/vector.c -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html