On Fri, Apr 29, 2022 at 03:50:51PM +0200, Niklas Schnelle wrote: > In a future patch HAS_IOPORT=n will result in inb()/outb() and friends > not being declared. We thus need to add HAS_IOPORT as dependency for > those drivers using them. Some of these drivers support devices using either I/O ports or MMIO. Adding the HAS_IOPORT dependency means MMIO devices that *could* work on systems without I/O ports, won't work. Even the MMIO-only devices are probably old and not of much interest. But if you want to disable them even though they *could* work, I think that's worth mentioning in the commit log. > diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig > config SCSI_IPS > tristate "IBM ServeRAID support" > - depends on PCI && SCSI > + depends on PCI && HAS_IOPORT && SCSI https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/ips.c?id=v5.17#n6867 > diff --git a/drivers/scsi/aic7xxx/Kconfig.aic7xxx b/drivers/scsi/aic7xxx/Kconfig.aic7xxx > config SCSI_AIC94XX > tristate "Adaptec AIC94xx SAS/SATA support" > - depends on PCI > + depends on PCI && HAS_IOPORT > select SCSI_SAS_LIBSAS > select FW_LOADER > help https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/aic7xxx/aic79xx_osm_pci.c?id=v5.17#n304 > diff --git a/drivers/scsi/megaraid/Kconfig.megaraid b/drivers/scsi/megaraid/Kconfig.megaraid > config MEGARAID_LEGACY > tristate "LSI Logic Legacy MegaRAID Driver" > - depends on PCI && SCSI > + depends on PCI && HAS_IOPORT && SCSI https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/megaraid.c?id=v5.17#n4190 > diff --git a/drivers/scsi/mvsas/Kconfig b/drivers/scsi/mvsas/Kconfig > config SCSI_MVSAS > tristate "Marvell 88SE64XX/88SE94XX SAS/SATA support" > - depends on PCI > + depends on PCI && HAS_IOPORT > select SCSI_SAS_LIBSAS > select FW_LOADER > help This turns off all MVSAS support, but apparently only mv_64xx.c uses I/O ports: git grep -E "\<(in|out)[bwl]\>" drivers/scsi/mvsas git grep -E "\<io[rw](8|16|32)\>" drivers/scsi/mvsas It doesn't look like the Makefile is currently set up to build mv_64xx.c separately. Bjorn