[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220504204231.GA463295@bhelgaas>
Date: Wed, 4 May 2022 15:42:31 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Niklas Schnelle <schnelle@...ux.ibm.com>
Cc: Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-pci@...r.kernel.org, Arnd Bergmann <arnd@...nel.org>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Hannes Reinecke <hare@...e.com>,
Kashyap Desai <kashyap.desai@...adcom.com>,
Sumit Saxena <sumit.saxena@...adcom.com>,
Shivasharan S <shivasharan.srikanteshwara@...adcom.com>,
Nilesh Javali <njavali@...vell.com>,
"supporter:QLOGIC QLA2XXX FC-SCSI DRIVER"
<GR-QLogic-Storage-Upstream@...vell.com>,
"open list:SCSI SUBSYSTEM" <linux-scsi@...r.kernel.org>,
"open list:MEGARAID SCSI/SAS DRIVERS"
<megaraidlinux.pdl@...adcom.com>
Subject: Re: [RFC v2 30/39] scsi: add HAS_IOPORT dependencies
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
Powered by blists - more mailing lists