irqchip/gic-v3-its: Remove artificial dependency on PCI
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 13 Nov 2017 17:25:59 +0000 (17:25 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 13 Nov 2017 17:25:59 +0000 (17:25 +0000)
The GICv3 ITS doesn't really depend on PCI. Only the PCI/MSI
part of it does, and there is no reason not to blow away most
of the irqchip stack because PCI is not selected (though not
selecting PCI seem to be asking for punishment, but hey...).

So let's split the PCI-specific part from the ITS in the Kconfig
file, and let's make that part depend on PCI. Architecture specific
hacks (arch/arm{,64}/Kconfig) will be addressed in a separate patch.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/Kconfig
drivers/irqchip/Makefile

index ccfb14de57e44f46c1de8c8caeec367410c5aea7..3f637f3055e99549793fbb4c171d6fa8834500a0 100644 (file)
@@ -41,8 +41,15 @@ config ARM_GIC_V3
 
 config ARM_GIC_V3_ITS
        bool
+       select GENERIC_MSI_IRQ_DOMAIN
+       default ARM_GIC_V3
+
+config ARM_GIC_V3_ITS_PCI
+       bool
+       depends on ARM_GIC_V3_ITS
        depends on PCI
        depends on PCI_MSI
+       default ARM_GIC_V3_ITS
 
 config ARM_NVIC
        bool
index dee3390390d512266b9671651ce753e48ed85e76..b5cdf759d8fe0edf83aedd0a855028ee063fa105 100644 (file)
@@ -28,7 +28,8 @@ obj-$(CONFIG_ARM_GIC_PM)              += irq-gic-pm.o
 obj-$(CONFIG_ARCH_REALVIEW)            += irq-gic-realview.o
 obj-$(CONFIG_ARM_GIC_V2M)              += irq-gic-v2m.o
 obj-$(CONFIG_ARM_GIC_V3)               += irq-gic-v3.o irq-gic-common.o
-obj-$(CONFIG_ARM_GIC_V3_ITS)           += irq-gic-v3-its.o irq-gic-v3-its-pci-msi.o irq-gic-v3-its-platform-msi.o irq-gic-v4.o
+obj-$(CONFIG_ARM_GIC_V3_ITS)           += irq-gic-v3-its.o irq-gic-v3-its-platform-msi.o irq-gic-v4.o
+obj-$(CONFIG_ARM_GIC_V3_ITS_PCI)       += irq-gic-v3-its-pci-msi.o
 obj-$(CONFIG_PARTITION_PERCPU)         += irq-partition-percpu.o
 obj-$(CONFIG_HISILICON_IRQ_MBIGEN)     += irq-mbigen.o
 obj-$(CONFIG_ARM_NVIC)                 += irq-nvic.o