Commit 077ee78e authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

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: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20200826112333.992429909@linutronix.de
parent 2c681e6b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ config IA64
	select NEED_DMA_MAP_STATE
	select NEED_SG_DMA_LENGTH
	select NUMA if !FLATMEM
	select PCI_MSI_ARCH_FALLBACKS
	default y
	help
	  The Itanium Processor Family is Intel's 64-bit successor to
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ config MIPS
	select MODULES_USE_ELF_REL if MODULES
	select MODULES_USE_ELF_RELA if MODULES && 64BIT
	select PERF_USE_VMALLOC
	select PCI_MSI_ARCH_FALLBACKS
	select RTC_LIB
	select SYSCTL_EXCEPTION_TRACE
	select VIRT_TO_BUS
+1 −0
Original line number Diff line number Diff line
@@ -246,6 +246,7 @@ config PPC
	select OLD_SIGACTION			if PPC32
	select OLD_SIGSUSPEND
	select PCI_DOMAINS			if PCI
	select PCI_MSI_ARCH_FALLBACKS
	select PCI_SYSCALL			if PCI
	select PPC_DAWR				if PPC64
	select RTC_LIB
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ config S390
	select OLD_SIGSUSPEND3
	select PCI_DOMAINS		if PCI
	select PCI_MSI			if PCI
	select PCI_MSI_ARCH_FALLBACKS
	select SPARSE_IRQ
	select SYSCTL_EXCEPTION_TRACE
	select THREAD_INFO_IN_TASK
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ config SPARC
	select GENERIC_STRNLEN_USER
	select MODULES_USE_ELF_RELA
	select PCI_SYSCALL if PCI
	select PCI_MSI_ARCH_FALLBACKS
	select ODD_RT_SIGACTION
	select OLD_SIGSUSPEND
	select CPU_NO_EFFICIENT_FFS
Loading