On Wed, Jun 15, 2016 at 10:09:38PM +0200, Arnd Bergmann wrote: > 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, > and the latest one is a result of ARCH_ALPINE using a 'select' > statement to enable its platform specific MSI driver but not > enabling MSI support first: > > 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 leaving MSI disabled at compile time. > > I sent an earlier version that used 'select PCI_MSI' everywhere > in March, but that caused build regressions on x86. > > This version instead selects PCI_MSI from irqchips that implement MSI, > and makes PCI host bridges that use MSI on ARM depend on PCI_MSI_IRQ_DOMAIN, > which in turn is now enabled by default on all three architectures that > support it, whenever MSI is enabled. > > I think it makes most sense to merge this patch through the PCI tree, > as new PCI host drivers get added occasionally, and they all need to > be adapted for this change. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > Suggested-by: Marc Zyngier <marc.zyngier@xxxxxxx> > Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> I applied this to pci/msi, minus the crypto change that looks unrelated: > @@ -1038,6 +1038,8 @@ source "arch/arm64/Kconfig.debug" > source "security/Kconfig" > > source "crypto/Kconfig" > +if CRYPTO > source "arch/arm64/crypto/Kconfig" > +endif -- 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