3ee803641e
The PCI_MSI symbol is used inconsistently throughout the tree, with some drivers using 'select' and others using 'depends on', or using conditional selects. This keeps causing problems; the latest one is a result of ARCH_ALPINE using a 'select' statement to enable its platform-specific MSI driver without enabling MSI: warning: (ARCH_ALPINE) selects ALPINE_MSI which has unmet direct dependencies (PCI && PCI_MSI) drivers/irqchip/irq-alpine-msi.c:104:15: error: variable 'alpine_msix_domain_info' has initializer but incomplete type static struct msi_domain_info alpine_msix_domain_info = { ^~~~~~~~~~~~~~~ drivers/irqchip/irq-alpine-msi.c:105:2: error: unknown field 'flags' specified in initializer .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | ^ drivers/irqchip/irq-alpine-msi.c:105:11: error: 'MSI_FLAG_USE_DEF_DOM_OPS' undeclared here (not in a function) .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | ^~~~~~~~~~~~~~~~~~~~~~~~ There is little reason to enable PCI support for a platform that uses MSI but then leave MSI disabled at compile time. Select PCI_MSI from irqchips that implement MSI, and make PCI host bridges that use MSI on ARM depend on PCI_MSI_IRQ_DOMAIN. For all three architectures that support PCI_MSI_IRQ_DOMAIN (ARM, ARM64, X86), enable it by default whenever MSI is enabled. [bhelgaas: changelog, omit crypto config change] Suggested-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> |
||
---|---|---|
.. | ||
alphascale_asm9260-icoll.h | ||
exynos-combiner.c | ||
irq-alpine-msi.c | ||
irq-armada-370-xp.c | ||
irq-ath79-cpu.c | ||
irq-ath79-misc.c | ||
irq-atmel-aic-common.c | ||
irq-atmel-aic-common.h | ||
irq-atmel-aic.c | ||
irq-atmel-aic5.c | ||
irq-bcm2835.c | ||
irq-bcm2836.c | ||
irq-bcm6345-l1.c | ||
irq-bcm7038-l1.c | ||
irq-bcm7120-l2.c | ||
irq-brcmstb-l2.c | ||
irq-clps711x.c | ||
irq-crossbar.c | ||
irq-digicolor.c | ||
irq-dw-apb-ictl.c | ||
irq-eznps.c | ||
irq-gic-common.c | ||
irq-gic-common.h | ||
irq-gic-realview.c | ||
irq-gic-v2m.c | ||
irq-gic-v3-its-pci-msi.c | ||
irq-gic-v3-its-platform-msi.c | ||
irq-gic-v3-its.c | ||
irq-gic-v3.c | ||
irq-gic.c | ||
irq-hip04.c | ||
irq-i8259.c | ||
irq-imgpdc.c | ||
irq-imx-gpcv2.c | ||
irq-ingenic.c | ||
irq-keystone.c | ||
irq-lpc32xx.c | ||
irq-ls-scfg-msi.c | ||
irq-mbigen.c | ||
irq-metag-ext.c | ||
irq-metag.c | ||
irq-mips-cpu.c | ||
irq-mips-gic.c | ||
irq-mmp.c | ||
irq-moxart.c | ||
irq-mtk-sysirq.c | ||
irq-mvebu-odmi.c | ||
irq-mxs.c | ||
irq-nvic.c | ||
irq-omap-intc.c | ||
irq-or1k-pic.c | ||
irq-orion.c | ||
irq-partition-percpu.c | ||
irq-pic32-evic.c | ||
irq-renesas-h8s.c | ||
irq-renesas-h8300h.c | ||
irq-renesas-intc-irqpin.c | ||
irq-renesas-irqc.c | ||
irq-s3c24xx.c | ||
irq-sa11x0.c | ||
irq-sirfsoc.c | ||
irq-st.c | ||
irq-sun4i.c | ||
irq-sunxi-nmi.c | ||
irq-tango.c | ||
irq-tb10x.c | ||
irq-tegra.c | ||
irq-ts4800.c | ||
irq-versatile-fpga.c | ||
irq-vf610-mscm-ir.c | ||
irq-vic.c | ||
irq-vt8500.c | ||
irq-xtensa-mx.c | ||
irq-xtensa-pic.c | ||
irq-zevio.c | ||
irqchip.c | ||
Kconfig | ||
Makefile | ||
spear-shirq.c |