Re: [RFC v2 30/39] scsi: add HAS_IOPORT dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux