On Fri, Sep 25, 2020 at 09:54:52AM -0400, Qian Cai wrote: > On Wed, 2020-08-26 at 13:17 +0200, Thomas Gleixner wrote: > > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxxx> > > Today's linux-next will have some warnings on s390x: > > .config: https://gitlab.com/cailca/linux-mm/-/blob/master/s390.config > > WARNING: unmet direct dependencies detected for PCI_MSI_ARCH_FALLBACKS > Depends on [n]: PCI [=n] > Selected by [y]: > - S390 [=y] > > WARNING: unmet direct dependencies detected for PCI_MSI_ARCH_FALLBACKS > Depends on [n]: PCI [=n] > Selected by [y]: > - S390 [=y] > Yes, as well as on mips and sparc which also don't FORCE_PCI. This seems to work for s390: diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index b0b7acf07eb8..41136fbe909b 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -192,3 +192,3 @@ config S390 select PCI_MSI if PCI - select PCI_MSI_ARCH_FALLBACKS + select PCI_MSI_ARCH_FALLBACKS if PCI select SET_FS