PCI/MSI: irqchip: Fix PCI_MSI dependencies
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>
This commit is contained in:

committed by
Bjorn Helgaas

parent
af8c34ce6a
commit
3ee803641e
@@ -15,9 +15,9 @@ config ARM_GIC_MAX_NR
|
||||
|
||||
config ARM_GIC_V2M
|
||||
bool
|
||||
depends on ARM_GIC
|
||||
depends on PCI && PCI_MSI
|
||||
select PCI_MSI_IRQ_DOMAIN
|
||||
depends on PCI
|
||||
select ARM_GIC
|
||||
select PCI_MSI
|
||||
|
||||
config GIC_NON_BANKED
|
||||
bool
|
||||
@@ -31,7 +31,8 @@ config ARM_GIC_V3
|
||||
|
||||
config ARM_GIC_V3_ITS
|
||||
bool
|
||||
select PCI_MSI_IRQ_DOMAIN
|
||||
depends on PCI
|
||||
depends on PCI_MSI
|
||||
|
||||
config ARM_NVIC
|
||||
bool
|
||||
@@ -56,13 +57,13 @@ config ARM_VIC_NR
|
||||
config ARMADA_370_XP_IRQ
|
||||
bool
|
||||
select GENERIC_IRQ_CHIP
|
||||
select PCI_MSI_IRQ_DOMAIN if PCI_MSI
|
||||
select PCI_MSI if PCI
|
||||
|
||||
config ALPINE_MSI
|
||||
bool
|
||||
depends on PCI && PCI_MSI
|
||||
depends on PCI
|
||||
select PCI_MSI
|
||||
select GENERIC_IRQ_CHIP
|
||||
select PCI_MSI_IRQ_DOMAIN
|
||||
|
||||
config ATMEL_AIC_IRQ
|
||||
bool
|
||||
@@ -111,7 +112,6 @@ config HISILICON_IRQ_MBIGEN
|
||||
bool
|
||||
select ARM_GIC_V3
|
||||
select ARM_GIC_V3_ITS
|
||||
select GENERIC_MSI_IRQ_DOMAIN
|
||||
|
||||
config IMGPDC_IRQ
|
||||
bool
|
||||
@@ -244,12 +244,10 @@ config IRQ_MXS
|
||||
|
||||
config MVEBU_ODMI
|
||||
bool
|
||||
select GENERIC_MSI_IRQ_DOMAIN
|
||||
|
||||
config LS_SCFG_MSI
|
||||
def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
|
||||
depends on PCI && PCI_MSI
|
||||
select PCI_MSI_IRQ_DOMAIN
|
||||
|
||||
config PARTITION_PERCPU
|
||||
bool
|
||||
|
Reference in New Issue
Block a user