aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/Kconfig
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-08-26 13:17:02 +0200
committerThomas Gleixner <tglx@linutronix.de>2020-09-16 16:52:37 +0200
commit077ee78e392869e46ae6bdc6ba2a3c4249d0b5e1 (patch)
tree023c1687261dd5cd2453506fc8001d8af5410c96 /drivers/pci/Kconfig
parentx86/pci: Set default irq domain in pcibios_add_device() (diff)
downloadlinux-dev-077ee78e392869e46ae6bdc6ba2a3c4249d0b5e1.tar.xz
linux-dev-077ee78e392869e46ae6bdc6ba2a3c4249d0b5e1.zip
PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable
The arch_.*_msi_irq[s] fallbacks are compiled in whether an architecture requires them or not. Architectures which are fully utilizing hierarchical irq domains should never call into that code. It's not only architectures which depend on that by implementing one or more of the weak functions, there is also a bunch of drivers which relies on the weak functions which invoke msi_controller::setup_irq[s] and msi_controller::teardown_irq. Make the architectures and drivers which rely on them select them in Kconfig and if not selected replace them by stub functions which emit a warning and fail the PCI/MSI interrupt allocation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20200826112333.992429909@linutronix.de
Diffstat (limited to 'drivers/pci/Kconfig')
-rw-r--r--drivers/pci/Kconfig3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 4bef5c2bae9f..438a792d2cf7 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -56,6 +56,9 @@ config PCI_MSI_IRQ_DOMAIN
depends on PCI_MSI
select GENERIC_MSI_IRQ_DOMAIN
+config PCI_MSI_ARCH_FALLBACKS
+ bool
+
config PCI_QUIRKS
default y
bool "Enable PCI quirk workarounds" if EXPERT