treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / drivers / scsi / Kconfig
bloba7881f8eb05ee4ffb9571da0d2a9d21b62abb92a
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "SCSI device support"
4 config SCSI_MOD
5        tristate
6        default y if SCSI=n || SCSI=y
7        default m if SCSI=m
9 config RAID_ATTRS
10         tristate "RAID Transport Class"
11         default n
12         depends on BLOCK
13         depends on SCSI_MOD
14         ---help---
15           Provides RAID
17 config SCSI
18         tristate "SCSI device support"
19         depends on BLOCK
20         select SCSI_DMA if HAS_DMA
21         select SG_POOL
22         select BLK_SCSI_REQUEST
23         ---help---
24           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
25           any other SCSI device under Linux, say Y and make sure that you know
26           the name of your SCSI host adapter (the card inside your computer
27           that "speaks" the SCSI protocol, also called SCSI controller),
28           because you will be asked for it.
30           You also need to say Y here if you have a device which speaks
31           the SCSI protocol.  Examples of this include the parallel port
32           version of the IOMEGA ZIP drive, USB storage devices, Fibre
33           Channel, and FireWire storage.
35           To compile this driver as a module, choose M here and read
36           <file:Documentation/scsi/scsi.txt>.
37           The module will be called scsi_mod.
39           However, do not compile this as a module if your root file system
40           (the one containing the directory /) is located on a SCSI device.
42 config SCSI_DMA
43         bool
44         default n
46 config SCSI_ESP_PIO
47         bool
49 config SCSI_NETLINK
50         bool
51         default n
52         depends on NET
54 config SCSI_PROC_FS
55         bool "legacy /proc/scsi/ support"
56         depends on SCSI && PROC_FS
57         default y
58         ---help---
59           This option enables support for the various files in
60           /proc/scsi.  In Linux 2.6 this has been superseded by
61           files in sysfs but many legacy applications rely on this.
63           If unsure say Y.
65 comment "SCSI support type (disk, tape, CD-ROM)"
66         depends on SCSI
68 config BLK_DEV_SD
69         tristate "SCSI disk support"
70         depends on SCSI
71         select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
72         ---help---
73           If you want to use SCSI hard disks, Fibre Channel disks,
74           Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
75           USB storage or the SCSI or parallel port version of
76           the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO,
77           the Disk-HOWTO and the Multi-Disk-HOWTO, available from
78           <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI
79           CD-ROMs.
81           To compile this driver as a module, choose M here and read
82           <file:Documentation/scsi/scsi.txt>.
83           The module will be called sd_mod.
85           Do not compile this driver as a module if your root file system
86           (the one containing the directory /) is located on a SCSI disk.
87           In this case, do not compile the driver for your SCSI host adapter
88           (below) as a module either.
90 config CHR_DEV_ST
91         tristate "SCSI tape support"
92         depends on SCSI
93         ---help---
94           If you want to use a SCSI tape drive under Linux, say Y and read the
95           SCSI-HOWTO, available from
96           <http://www.tldp.org/docs.html#howto>, and
97           <file:Documentation/scsi/st.txt> in the kernel source.  This is NOT
98           for SCSI CD-ROMs.
100           To compile this driver as a module, choose M here and read
101           <file:Documentation/scsi/scsi.txt>. The module will be called st.
103 config BLK_DEV_SR
104         tristate "SCSI CDROM support"
105         depends on SCSI && BLK_DEV
106         select CDROM
107         ---help---
108           If you want to use a CD or DVD drive attached to your computer
109           by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO
110           and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>.
112           Make sure to say Y or M to "ISO 9660 CD-ROM file system support".
114           To compile this driver as a module, choose M here and read
115           <file:Documentation/scsi/scsi.txt>.
116           The module will be called sr_mod.
118 config BLK_DEV_SR_VENDOR
119         bool "Enable vendor-specific extensions (for SCSI CDROM)"
120         depends on BLK_DEV_SR
121         help
122           This enables the usage of vendor specific SCSI commands. This is
123           required to support multisession CDs with old NEC/TOSHIBA cdrom
124           drives (and HP Writers). If you have such a drive and get the first
125           session only, try saying Y here; everybody else says N.
127 config CHR_DEV_SG
128         tristate "SCSI generic support"
129         depends on SCSI
130         ---help---
131           If you want to use SCSI scanners, synthesizers or CD-writers or just
132           about anything having "SCSI" in its name other than hard disks,
133           CD-ROMs or tapes, say Y here. These won't be supported by the kernel
134           directly, so you need some additional software which knows how to
135           talk to these devices using the SCSI protocol:
137           For scanners, look at SANE (<http://www.sane-project.org/>). For CD
138           writer software look at Cdrtools
139           (<http://cdrecord.berlios.de/private/cdrecord.html>)
140           and for burning a "disk at once": CDRDAO
141           (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
142           quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
143           For other devices, it's possible that you'll have to write the
144           driver software yourself. Please read the file
145           <file:Documentation/scsi/scsi-generic.txt> for more information.
147           To compile this driver as a module, choose M here and read
148           <file:Documentation/scsi/scsi.txt>. The module will be called sg.
150           If unsure, say N.
152 config CHR_DEV_SCH
153         tristate "SCSI media changer support"
154         depends on SCSI
155         ---help---
156           This is a driver for SCSI media changers.  Most common devices are
157           tape libraries and MOD/CDROM jukeboxes.  *Real* jukeboxes, you
158           don't need this for those tiny 6-slot cdrom changers.  Media
159           changers are listed as "Type: Medium Changer" in /proc/scsi/scsi.
160           If you have such hardware and want to use it with linux, say Y
161           here.  Check <file:Documentation/scsi/scsi-changer.txt> for details.
162         
163           If you want to compile this as a module ( = code which can be
164           inserted in and removed from the running kernel whenever you want),
165           say M here and read <file:Documentation/kbuild/modules.rst> and
166           <file:Documentation/scsi/scsi.txt>. The module will be called ch.o.
167           If unsure, say N.
169 config SCSI_ENCLOSURE
170         tristate "SCSI Enclosure Support"
171         depends on SCSI && ENCLOSURE_SERVICES
172         depends on m || SCSI_SAS_ATTRS != m
173         help
174           Enclosures are devices sitting on or in SCSI backplanes that
175           manage devices.  If you have a disk cage, the chances are that
176           it has an enclosure device.  Selecting this option will just allow
177           certain enclosure conditions to be reported and is not required.
179 config SCSI_CONSTANTS
180         bool "Verbose SCSI error reporting (kernel size += 36K)"
181         depends on SCSI
182         help
183           The error messages regarding your SCSI hardware will be easier to
184           understand if you say Y here; it will enlarge your kernel by about
185           36 KB. If in doubt, say Y.
187 config SCSI_LOGGING
188         bool "SCSI logging facility"
189         depends on SCSI
190         ---help---
191           This turns on a logging facility that can be used to debug a number
192           of SCSI related problems.
194           If you say Y here, no logging output will appear by default, but you
195           can enable logging by saying Y to "/proc file system support" and
196           "Sysctl support" below and executing the command
198           echo <bitmask> > /proc/sys/dev/scsi/logging_level
200           where <bitmask> is a four byte value representing the logging type
201           and logging level for each type of logging selected.
203           There are a number of logging types and you can find them in the
204           source at <file:drivers/scsi/scsi_logging.h>. The logging levels
205           are also described in that file and they determine the verbosity of
206           the logging for each logging type.
208           If you say N here, it may be harder to track down some types of SCSI
209           problems. If you say Y here your kernel will be somewhat larger, but
210           there should be no noticeable performance impact as long as you have
211           logging turned off.
213 config SCSI_SCAN_ASYNC
214         bool "Asynchronous SCSI scanning"
215         depends on SCSI
216         help
217           The SCSI subsystem can probe for devices while the rest of the
218           system continues booting, and even probe devices on different
219           busses in parallel, leading to a significant speed-up.
221           You can override this choice by specifying "scsi_mod.scan=sync"
222           or async on the kernel's command line.
224           Note that this setting also affects whether resuming from
225           system suspend will be performed asynchronously.
227 menu "SCSI Transports"
228         depends on SCSI
230 config SCSI_SPI_ATTRS
231         tristate "Parallel SCSI (SPI) Transport Attributes"
232         depends on SCSI
233         help
234           If you wish to export transport-specific information about
235           each attached SCSI device to sysfs, say Y.  Otherwise, say N.
237 config SCSI_FC_ATTRS
238         tristate "FiberChannel Transport Attributes"
239         depends on SCSI && NET
240         select BLK_DEV_BSGLIB
241         select SCSI_NETLINK
242         help
243           If you wish to export transport-specific information about
244           each attached FiberChannel device to sysfs, say Y.
245           Otherwise, say N.
247 config SCSI_ISCSI_ATTRS
248         tristate "iSCSI Transport Attributes"
249         depends on SCSI && NET
250         select BLK_DEV_BSGLIB
251         help
252           If you wish to export transport-specific information about
253           each attached iSCSI device to sysfs, say Y.
254           Otherwise, say N.
256 config SCSI_SAS_ATTRS
257         tristate "SAS Transport Attributes"
258         depends on SCSI
259         select BLK_DEV_BSGLIB
260         help
261           If you wish to export transport-specific information about
262           each attached SAS device to sysfs, say Y.
264 source "drivers/scsi/libsas/Kconfig"
266 config SCSI_SRP_ATTRS
267         tristate "SRP Transport Attributes"
268         depends on SCSI
269         help
270           If you wish to export transport-specific information about
271           each attached SRP device to sysfs, say Y.
273 endmenu
275 menuconfig SCSI_LOWLEVEL
276         bool "SCSI low-level drivers"
277         depends on SCSI!=n
278         default y
280 if SCSI_LOWLEVEL && SCSI
282 config ISCSI_TCP
283         tristate "iSCSI Initiator over TCP/IP"
284         depends on SCSI && INET
285         select CRYPTO
286         select CRYPTO_MD5
287         select CRYPTO_CRC32C
288         select SCSI_ISCSI_ATTRS
289         help
290          The iSCSI Driver provides a host with the ability to access storage
291          through an IP network. The driver uses the iSCSI protocol to transport
292          SCSI requests and responses over a TCP/IP network between the host
293          (the "initiator") and "targets".  Architecturally, the iSCSI driver
294          combines with the host's TCP/IP stack, network drivers, and Network
295          Interface Card (NIC) to provide the same functions as a SCSI or a
296          Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA).
298          To compile this driver as a module, choose M here: the
299          module will be called iscsi_tcp.
301          The userspace component needed to initialize the driver, documentation,
302          and sample configuration files can be found here:
304          http://open-iscsi.org
306 config ISCSI_BOOT_SYSFS
307         tristate "iSCSI Boot Sysfs Interface"
308         default n
309         help
310           This option enables support for exposing iSCSI boot information
311           via sysfs to userspace. If you wish to export this information,
312           say Y. Otherwise, say N.
314 source "drivers/scsi/cxgbi/Kconfig"
315 source "drivers/scsi/bnx2i/Kconfig"
316 source "drivers/scsi/bnx2fc/Kconfig"
317 source "drivers/scsi/be2iscsi/Kconfig"
318 source "drivers/scsi/cxlflash/Kconfig"
320 config SGIWD93_SCSI
321         tristate "SGI WD93C93 SCSI Driver"
322         depends on SGI_HAS_WD93 && SCSI
323         help
324           If you have a Western Digital WD93 SCSI controller on
325           an SGI MIPS system, say Y.  Otherwise, say N.
327 config BLK_DEV_3W_XXXX_RAID
328         tristate "3ware 5/6/7/8xxx ATA-RAID support"
329         depends on PCI && SCSI
330         help
331           3ware is the only hardware ATA-Raid product in Linux to date.
332           This card is 2,4, or 8 channel master mode support only.
333           SCSI support required!!!
335           <http://www.3ware.com/>
337           Please read the comments at the top of
338           <file:drivers/scsi/3w-xxxx.c>.
340 config SCSI_HPSA
341         tristate "HP Smart Array SCSI driver"
342         depends on PCI && SCSI
343         select CHECK_SIGNATURE
344         select SCSI_SAS_ATTRS
345         help
346           This driver supports HP Smart Array Controllers (circa 2009).
347           It is a SCSI alternative to the cciss driver, which is a block
348           driver.  Anyone wishing to use HP Smart Array controllers who
349           would prefer the devices be presented to linux as SCSI devices,
350           rather than as generic block devices should say Y here.
352 config SCSI_3W_9XXX
353         tristate "3ware 9xxx SATA-RAID support"
354         depends on PCI && SCSI
355         help
356           This driver supports the 9000 series 3ware SATA-RAID cards.
358           <http://www.amcc.com>
360           Please read the comments at the top of
361           <file:drivers/scsi/3w-9xxx.c>.
363 config SCSI_3W_SAS
364         tristate "3ware 97xx SAS/SATA-RAID support"
365         depends on PCI && SCSI
366         help
367           This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards.
369           <http://www.lsi.com>
371           Please read the comments at the top of
372           <file:drivers/scsi/3w-sas.c>.
374 config SCSI_ACARD
375         tristate "ACARD SCSI support"
376         depends on PCI && SCSI
377         help
378           This driver supports the ACARD SCSI host adapter.
379           Support Chip <ATP870 ATP876 ATP880 ATP885>
380           To compile this driver as a module, choose M here: the
381           module will be called atp870u.
383 config SCSI_AHA152X
384         tristate "Adaptec AHA152X/2825 support"
385         depends on ISA && SCSI
386         select SCSI_SPI_ATTRS
387         select CHECK_SIGNATURE
388         ---help---
389           This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825
390           SCSI host adapters. It also works for the AVA-1505, but the IRQ etc.
391           must be manually specified in this case.
393           It is explained in section 3.3 of the SCSI-HOWTO, available from
394           <http://www.tldp.org/docs.html#howto>. You might also want to
395           read the file <file:Documentation/scsi/aha152x.txt>.
397           To compile this driver as a module, choose M here: the
398           module will be called aha152x.
400 config SCSI_AHA1542
401         tristate "Adaptec AHA1542 support"
402         depends on ISA && SCSI && ISA_DMA_API
403         ---help---
404           This is support for a SCSI host adapter.  It is explained in section
405           3.4 of the SCSI-HOWTO, available from
406           <http://www.tldp.org/docs.html#howto>.  Note that Trantor was
407           purchased by Adaptec, and some former Trantor products are being
408           sold under the Adaptec name.  If it doesn't work out of the box, you
409           may have to change some settings in <file:drivers/scsi/aha1542.h>.
411           To compile this driver as a module, choose M here: the
412           module will be called aha1542.
414 config SCSI_AHA1740
415         tristate "Adaptec AHA1740 support"
416         depends on EISA && SCSI
417         ---help---
418           This is support for a SCSI host adapter.  It is explained in section
419           3.5 of the SCSI-HOWTO, available from
420           <http://www.tldp.org/docs.html#howto>.  If it doesn't work out
421           of the box, you may have to change some settings in
422           <file:drivers/scsi/aha1740.h>.
424           To compile this driver as a module, choose M here: the
425           module will be called aha1740.
427 config SCSI_AACRAID
428         tristate "Adaptec AACRAID support"
429         depends on SCSI && PCI
430         help
431           This driver supports a variety of Dell, HP, Adaptec, IBM and
432           ICP storage products. For a list of supported products, refer
433           to <file:Documentation/scsi/aacraid.txt>.
435           To compile this driver as a module, choose M here: the module
436           will be called aacraid.
439 source "drivers/scsi/aic7xxx/Kconfig.aic7xxx"
440 source "drivers/scsi/aic7xxx/Kconfig.aic79xx"
441 source "drivers/scsi/aic94xx/Kconfig"
442 source "drivers/scsi/hisi_sas/Kconfig"
443 source "drivers/scsi/mvsas/Kconfig"
445 config SCSI_MVUMI
446         tristate "Marvell UMI driver"
447         depends on SCSI && PCI
448         help
449           Module for Marvell Universal Message Interface(UMI) driver
451           To compile this driver as a module, choose M here: the
452           module will be called mvumi.
454 config SCSI_DPT_I2O
455         tristate "Adaptec I2O RAID support "
456         depends on SCSI && PCI && VIRT_TO_BUS
457         help
458           This driver supports all of Adaptec's I2O based RAID controllers as 
459           well as the DPT SmartRaid V cards.  This is an Adaptec maintained
460           driver by Deanna Bonds.  See <file:Documentation/scsi/dpti.txt>.
462           To compile this driver as a module, choose M here: the
463           module will be called dpt_i2o.
465 config SCSI_ADVANSYS
466         tristate "AdvanSys SCSI support"
467         depends on SCSI
468         depends on ISA || EISA || PCI
469         depends on ISA_DMA_API || !ISA
470         help
471           This is a driver for all SCSI host adapters manufactured by
472           AdvanSys. It is documented in the kernel source in
473           <file:drivers/scsi/advansys.c>.
475           To compile this driver as a module, choose M here: the
476           module will be called advansys.
478 config SCSI_ARCMSR
479         tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter"
480         depends on PCI && SCSI
481         help
482           This driver supports all of ARECA's SATA/SAS RAID controller cards.
483           This is an ARECA-maintained driver by Erich Chen.
484           If you have any problems, please mail to: <erich@areca.com.tw>.
485           Areca supports Linux RAID config tools.
486           Please link <http://www.areca.com.tw>
488           To compile this driver as a module, choose M here: the
489           module will be called arcmsr (modprobe arcmsr).
491 source "drivers/scsi/esas2r/Kconfig"
492 source "drivers/scsi/megaraid/Kconfig.megaraid"
493 source "drivers/scsi/mpt3sas/Kconfig"
494 source "drivers/scsi/smartpqi/Kconfig"
495 source "drivers/scsi/ufs/Kconfig"
497 config SCSI_HPTIOP
498         tristate "HighPoint RocketRAID 3xxx/4xxx Controller support"
499         depends on SCSI && PCI
500         help
501           This option enables support for HighPoint RocketRAID 3xxx/4xxx
502           controllers.
504           To compile this driver as a module, choose M here; the module
505           will be called hptiop. If unsure, say N.
507 config SCSI_BUSLOGIC
508         tristate "BusLogic SCSI support"
509         depends on (PCI || ISA) && SCSI && ISA_DMA_API && VIRT_TO_BUS
510         ---help---
511           This is support for BusLogic MultiMaster and FlashPoint SCSI Host
512           Adapters. Consult the SCSI-HOWTO, available from
513           <http://www.tldp.org/docs.html#howto>, and the files
514           <file:Documentation/scsi/BusLogic.txt> and
515           <file:Documentation/scsi/FlashPoint.txt> for more information.
516           Note that support for FlashPoint is only available for 32-bit
517           x86 configurations.
519           To compile this driver as a module, choose M here: the
520           module will be called BusLogic.
522 config SCSI_FLASHPOINT
523         bool "FlashPoint support"
524         depends on SCSI_BUSLOGIC && PCI
525         help
526           This option allows you to add FlashPoint support to the
527           BusLogic SCSI driver. The FlashPoint SCCB Manager code is
528           substantial, so users of MultiMaster Host Adapters may not
529           wish to include it.
531 config SCSI_MYRB
532         tristate "Mylex DAC960/DAC1100 PCI RAID Controller (Block Interface)"
533         depends on PCI
534         select RAID_ATTRS
535         help
536           This driver adds support for the Mylex DAC960, AcceleRAID, and
537           eXtremeRAID PCI RAID controllers. This driver supports the
538           older, block based interface.
539           This driver is a reimplementation of the original DAC960
540           driver. If you have used the DAC960 driver you should enable
541           this module.
543           To compile this driver as a module, choose M here: the
544           module will be called myrb.
546 config SCSI_MYRS
547         tristate "Mylex DAC960/DAC1100 PCI RAID Controller (SCSI Interface)"
548         depends on PCI
549         depends on !CPU_BIG_ENDIAN || COMPILE_TEST
550         select RAID_ATTRS
551         help
552           This driver adds support for the Mylex DAC960, AcceleRAID, and
553           eXtremeRAID PCI RAID controllers.  This driver supports the
554           newer, SCSI-based interface only.
555           This driver is a reimplementation of the original DAC960
556           driver. If you have used the DAC960 driver you should enable
557           this module.
559           To compile this driver as a module, choose M here: the
560           module will be called myrs.
562 config VMWARE_PVSCSI
563         tristate "VMware PVSCSI driver support"
564         depends on PCI && SCSI && X86
565         help
566           This driver supports VMware's para virtualized SCSI HBA.
567           To compile this driver as a module, choose M here: the
568           module will be called vmw_pvscsi.
570 config XEN_SCSI_FRONTEND
571         tristate "XEN SCSI frontend driver"
572         depends on SCSI && XEN
573         select XEN_XENBUS_FRONTEND
574         help
575           The XEN SCSI frontend driver allows the kernel to access SCSI Devices
576           within another guest OS (usually Dom0).
577           Only needed if the kernel is running in a XEN guest and generic
578           SCSI access to a device is needed.
580 config HYPERV_STORAGE
581         tristate "Microsoft Hyper-V virtual storage driver"
582         depends on SCSI && HYPERV
583         depends on m || SCSI_FC_ATTRS != m
584         default HYPERV
585         help
586           Select this option to enable the Hyper-V virtual storage driver.
588 config LIBFC
589         tristate "LibFC module"
590         depends on SCSI_FC_ATTRS
591         select CRC32
592         ---help---
593           Fibre Channel library module
595 config LIBFCOE
596         tristate "LibFCoE module"
597         depends on LIBFC
598         ---help---
599           Library for Fibre Channel over Ethernet module
601 config FCOE
602         tristate "FCoE module"
603         depends on PCI
604         depends on LIBFCOE
605         ---help---
606           Fibre Channel over Ethernet module
608 config FCOE_FNIC
609         tristate "Cisco FNIC Driver"
610         depends on PCI && X86
611         depends on LIBFCOE
612         help
613           This is support for the Cisco PCI-Express FCoE HBA.
615           To compile this driver as a module, choose M here and read
616           <file:Documentation/scsi/scsi.txt>.
617           The module will be called fnic.
619 config SCSI_SNIC
620         tristate "Cisco SNIC Driver"
621         depends on PCI && SCSI
622         help
623           This is support for the Cisco PCI-Express SCSI HBA.
625           To compile this driver as a module, choose M here and read
626           <file:Documentation/scsi/scsi.txt>.
627           The module will be called snic.
629 config SCSI_SNIC_DEBUG_FS
630         bool "Cisco SNIC Driver Debugfs Support"
631         depends on SCSI_SNIC && DEBUG_FS
632         help
633           This enables to list debugging information from SNIC Driver
634           available via debugfs file system
636 config SCSI_DMX3191D
637         tristate "DMX3191D SCSI support"
638         depends on PCI && SCSI
639         select SCSI_SPI_ATTRS
640         help
641           This is support for Domex DMX3191D SCSI Host Adapters.
643           To compile this driver as a module, choose M here: the
644           module will be called dmx3191d.
646 config SCSI_FDOMAIN
647         tristate
648         depends on SCSI
650 config SCSI_FDOMAIN_PCI
651         tristate "Future Domain TMC-3260/AHA-2920A PCI SCSI support"
652         depends on PCI && SCSI
653         select SCSI_FDOMAIN
654         help
655           This is support for Future Domain's PCI SCSI host adapters (TMC-3260)
656           and other adapters with PCI bus based on the Future Domain chipsets
657           (Adaptec AHA-2920A).
659           NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip
660           and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI
661           controller support"). This Future Domain driver works with the older
662           Adaptec AHA-2920A boards with a Future Domain chip on them.
664           To compile this driver as a module, choose M here: the
665           module will be called fdomain_pci.
667 config SCSI_FDOMAIN_ISA
668         tristate "Future Domain 16xx ISA SCSI support"
669         depends on ISA && SCSI
670         select CHECK_SIGNATURE
671         select SCSI_FDOMAIN
672         help
673           This is support for Future Domain's 16-bit SCSI host adapters
674           (TMC-1660/1680, TMC-1650/1670, TMC-1610M/MER/MEX) and other adapters
675           with ISA bus based on the Future Domain chipsets (Quantum ISA-200S,
676           ISA-250MG; and at least one IBM board).
678           To compile this driver as a module, choose M here: the
679           module will be called fdomain_isa.
681 config SCSI_GDTH
682         tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support"
683         depends on PCI && SCSI
684         ---help---
685           Formerly called GDT SCSI Disk Array Controller Support.
687           This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI) 
688           manufactured by Intel Corporation/ICP vortex GmbH. It is documented
689           in the kernel source in <file:drivers/scsi/gdth.c> and
690           <file:drivers/scsi/gdth.h>.
692           To compile this driver as a module, choose M here: the
693           module will be called gdth.
695 config SCSI_ISCI
696         tristate "Intel(R) C600 Series Chipset SAS Controller"
697         depends on PCI && SCSI
698         depends on X86
699         select SCSI_SAS_LIBSAS
700         ---help---
701           This driver supports the 6Gb/s SAS capabilities of the storage
702           control unit found in the Intel(R) C600 series chipset.
704 config SCSI_GENERIC_NCR5380
705         tristate "Generic NCR5380/53c400 SCSI ISA card support"
706         depends on ISA && SCSI && HAS_IOPORT_MAP
707         select SCSI_SPI_ATTRS
708         ---help---
709           This is a driver for old ISA card SCSI controllers based on a
710           NCR 5380, 53C80, 53C400, 53C400A, or DTC 436 device.
711           Most boards such as the Trantor T130 fit this category, as do
712           various 8-bit and 16-bit ISA cards bundled with SCSI scanners.
714           To compile this driver as a module, choose M here: the
715           module will be called g_NCR5380.
717 config SCSI_IPS
718         tristate "IBM ServeRAID support"
719         depends on PCI && SCSI
720         ---help---
721           This is support for the IBM ServeRAID hardware RAID controllers.
722           See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
723           and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID>
724           for more information.  If this driver does not work correctly
725           without modification please contact the author by email at
726           <ipslinux@adaptec.com>.
728           To compile this driver as a module, choose M here: the
729           module will be called ips.
731 config SCSI_IBMVSCSI
732         tristate "IBM Virtual SCSI support"
733         depends on PPC_PSERIES
734         select SCSI_SRP_ATTRS
735         help
736           This is the IBM POWER Virtual SCSI Client
738           To compile this driver as a module, choose M here: the
739           module will be called ibmvscsi.
741 config SCSI_IBMVSCSIS
742         tristate "IBM Virtual SCSI Server support"
743         depends on PPC_PSERIES && TARGET_CORE && SCSI && PCI
744         help
745           This is the IBM POWER Virtual SCSI Target Server
746           This driver uses the SRP protocol for communication between servers
747           guest and/or the host that run on the same server.
748           More information on VSCSI protocol can be found at www.power.org
750           The userspace configuration needed to initialize the driver can be
751           be found here:
753           https://github.com/powervm/ibmvscsis/wiki/Configuration
755           To compile this driver as a module, choose M here: the
756           module will be called ibmvscsis.
758 config SCSI_IBMVFC
759         tristate "IBM Virtual FC support"
760         depends on PPC_PSERIES && SCSI
761         depends on SCSI_FC_ATTRS
762         help
763           This is the IBM POWER Virtual FC Client
765           To compile this driver as a module, choose M here: the
766           module will be called ibmvfc.
768 config SCSI_IBMVFC_TRACE
769         bool "enable driver internal trace"
770         depends on SCSI_IBMVFC
771         default y
772         help
773           If you say Y here, the driver will trace all commands issued
774           to the adapter. Performance impact is minimal. Trace can be
775           dumped using /sys/class/scsi_host/hostXX/trace.
777 config SCSI_INITIO
778         tristate "Initio 9100U(W) support"
779         depends on PCI && SCSI
780         help
781           This is support for the Initio 91XXU(W) SCSI host adapter.  Please
782           read the SCSI-HOWTO, available from
783           <http://www.tldp.org/docs.html#howto>.
785           To compile this driver as a module, choose M here: the
786           module will be called initio.
788 config SCSI_INIA100
789         tristate "Initio INI-A100U2W support"
790         depends on PCI && SCSI
791         help
792           This is support for the Initio INI-A100U2W SCSI host adapter.
793           Please read the SCSI-HOWTO, available from
794           <http://www.tldp.org/docs.html#howto>.
796           To compile this driver as a module, choose M here: the
797           module will be called a100u2w.
799 config SCSI_PPA
800         tristate "IOMEGA parallel port (ppa - older drives)"
801         depends on SCSI && PARPORT_PC
802         ---help---
803           This driver supports older versions of IOMEGA's parallel port ZIP
804           drive (a 100 MB removable media device).
806           Note that you can say N here if you have the SCSI version of the ZIP
807           drive: it will be supported automatically if you said Y to the
808           generic "SCSI disk support", above.
810           If you have the ZIP Plus drive or a more recent parallel port ZIP
811           drive (if the supplied cable with the drive is labeled "AutoDetect")
812           then you should say N here and Y to "IOMEGA parallel port (imm -
813           newer drives)", below.
815           For more information about this driver and how to use it you should
816           read the file <file:Documentation/scsi/ppa.txt>.  You should also read
817           the SCSI-HOWTO, which is available from
818           <http://www.tldp.org/docs.html#howto>.  If you use this driver,
819           you will still be able to use the parallel port for other tasks,
820           such as a printer; it is safe to compile both drivers into the
821           kernel.
823           To compile this driver as a module, choose M here: the
824           module will be called ppa.
826 config SCSI_IMM
827         tristate "IOMEGA parallel port (imm - newer drives)"
828         depends on SCSI && PARPORT_PC
829         ---help---
830           This driver supports newer versions of IOMEGA's parallel port ZIP
831           drive (a 100 MB removable media device).
833           Note that you can say N here if you have the SCSI version of the ZIP
834           drive: it will be supported automatically if you said Y to the
835           generic "SCSI disk support", above.
837           If you have the ZIP Plus drive or a more recent parallel port ZIP
838           drive (if the supplied cable with the drive is labeled "AutoDetect")
839           then you should say Y here; if you have an older ZIP drive, say N
840           here and Y to "IOMEGA Parallel Port (ppa - older drives)", above.
842           For more information about this driver and how to use it you should
843           read the file <file:Documentation/scsi/ppa.txt>.  You should also read
844           the SCSI-HOWTO, which is available from
845           <http://www.tldp.org/docs.html#howto>.  If you use this driver,
846           you will still be able to use the parallel port for other tasks,
847           such as a printer; it is safe to compile both drivers into the
848           kernel.
850           To compile this driver as a module, choose M here: the
851           module will be called imm.
853 config SCSI_IZIP_EPP16
854         bool "ppa/imm option - Use slow (but safe) EPP-16"
855         depends on SCSI_PPA || SCSI_IMM
856         ---help---
857           EPP (Enhanced Parallel Port) is a standard for parallel ports which
858           allows them to act as expansion buses that can handle up to 64
859           peripheral devices.
861           Some parallel port chipsets are slower than their motherboard, and
862           so we have to control the state of the chipset's FIFO queue every
863           now and then to avoid data loss. This will be done if you say Y
864           here.
866           Generally, saying Y is the safe option and slows things down a bit.
868 config SCSI_IZIP_SLOW_CTR
869         bool "ppa/imm option - Assume slow parport control register"
870         depends on SCSI_PPA || SCSI_IMM
871         help
872           Some parallel ports are known to have excessive delays between
873           changing the parallel port control register and good data being
874           available on the parallel port data/status register. This option
875           forces a small delay (1.0 usec to be exact) after changing the
876           control register to let things settle out. Enabling this option may
877           result in a big drop in performance but some very old parallel ports
878           (found in 386 vintage machines) will not work properly.
880           Generally, saying N is fine.
882 config SCSI_LASI700
883         tristate "HP Lasi SCSI support for 53c700/710"
884         depends on GSC && SCSI
885         select SCSI_SPI_ATTRS
886         help
887           This is a driver for the SCSI controller in the Lasi chip found in
888           many PA-RISC workstations & servers.  If you do not know whether you
889           have a Lasi chip, it is safe to say "Y" here.
891 config SCSI_SNI_53C710
892         tristate "SNI RM SCSI support for 53c710"
893         depends on SNI_RM && SCSI
894         select SCSI_SPI_ATTRS
895         select 53C700_LE_ON_BE
896         help
897           This is a driver for the onboard SCSI controller found in older
898           SNI RM workstations & servers.
900 config 53C700_LE_ON_BE
901         bool
902         depends on SCSI_LASI700 || SCSI_SNI_53C710
903         default y
905 config SCSI_STEX
906         tristate "Promise SuperTrak EX Series support"
907         depends on PCI && SCSI
908         ---help---
909           This driver supports Promise SuperTrak EX series storage controllers.
911           Promise provides Linux RAID configuration utility for these
912           controllers. Please visit <http://www.promise.com> to download.
914           To compile this driver as a module, choose M here: the
915           module will be called stex.
917 config 53C700_BE_BUS
918         bool
919         depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI
920         default y
922 config SCSI_SYM53C8XX_2
923         tristate "SYM53C8XX Version 2 SCSI support"
924         depends on PCI && SCSI
925         select SCSI_SPI_ATTRS
926         ---help---
927           This driver supports the whole NCR53C8XX/SYM53C8XX family of
928           PCI-SCSI controllers.  It also supports the subset of LSI53C10XX
929           Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS
930           language.  It does not support LSI53C10XX Ultra-320 PCI-X SCSI
931           controllers; you need to use the Fusion MPT driver for that.
933           Please read <file:Documentation/scsi/sym53c8xx_2.txt> for more
934           information.
936 config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
937         int "DMA addressing mode"
938         depends on SCSI_SYM53C8XX_2
939         default "1"
940         ---help---
941           This option only applies to PCI-SCSI chips that are PCI DAC
942           capable (875A, 895A, 896, 1010-33, 1010-66, 1000).
944           When set to 0, the driver will program the chip to only perform
945           32-bit DMA.  When set to 1, the chip will be able to perform DMA
946           to addresses up to 1TB.  When set to 2, the driver supports the
947           full 64-bit DMA address range, but can only address 16 segments
948           of 4 GB each.  This limits the total addressable range to 64 GB.
950           Most machines with less than 4GB of memory should use a setting
951           of 0 for best performance.  If your machine has 4GB of memory
952           or more, you should set this option to 1 (the default).
954           The still experimental value 2 (64 bit DMA addressing with 16
955           x 4GB segments limitation) can be used on systems that require
956           PCI address bits past bit 39 to be set for the addressing of
957           memory using PCI DAC cycles.
959 config SCSI_SYM53C8XX_DEFAULT_TAGS
960         int "Default tagged command queue depth"
961         depends on SCSI_SYM53C8XX_2
962         default "16"
963         help
964           This is the default value of the command queue depth the
965           driver will announce to the generic SCSI layer for devices
966           that support tagged command queueing. This value can be changed
967           from the boot command line.  This is a soft limit that cannot
968           exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS.
970 config SCSI_SYM53C8XX_MAX_TAGS
971         int "Maximum number of queued commands"
972         depends on SCSI_SYM53C8XX_2
973         default "64"
974         help
975           This option allows you to specify the maximum number of commands
976           that can be queued to any device, when tagged command queuing is
977           possible. The driver supports up to 256 queued commands per device.
978           This value is used as a compiled-in hard limit.
980 config SCSI_SYM53C8XX_MMIO
981         bool "Use memory mapped IO"
982         depends on SCSI_SYM53C8XX_2
983         default y
984         help
985           Memory mapped IO is faster than Port IO.  Most people should
986           answer Y here, but some machines may have problems.  If you have
987           to answer N here, please report the problem to the maintainer.
989 config SCSI_IPR
990         tristate "IBM Power Linux RAID adapter support"
991         depends on PCI && SCSI && ATA
992         select FW_LOADER
993         select IRQ_POLL
994         select SGL_ALLOC
995         ---help---
996           This driver supports the IBM Power Linux family RAID adapters.
997           This includes IBM pSeries 5712, 5703, 5709, and 570A, as well
998           as IBM iSeries 5702, 5703, 5709, and 570A.
1000 config SCSI_IPR_TRACE
1001         bool "enable driver internal trace"
1002         depends on SCSI_IPR
1003         default y
1004         help
1005           If you say Y here, the driver will trace all commands issued
1006           to the adapter. Performance impact is minimal. Trace can be
1007           dumped using /sys/bus/class/scsi_host/hostXX/trace.
1009 config SCSI_IPR_DUMP
1010         bool "enable adapter dump support"
1011         depends on SCSI_IPR
1012         default y
1013         help
1014           If you say Y here, the driver will support adapter crash dump.
1015           If you enable this support, the iprdump daemon can be used
1016           to capture adapter failure analysis information.
1018 config SCSI_ZALON
1019         tristate "Zalon SCSI support"
1020         depends on GSC && SCSI
1021         select SCSI_SPI_ATTRS
1022         help
1023           The Zalon is a GSC/HSC bus interface chip that sits between the
1024           PA-RISC processor and the NCR 53c720 SCSI controller on C100,
1025           C110, J200, J210 and some D, K & R-class machines.  It's also
1026           used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
1027           Say Y here if you have one of these machines or cards.
1029 config SCSI_NCR53C8XX_DEFAULT_TAGS
1030         int "default tagged command queue depth"
1031         depends on SCSI_ZALON
1032         default "8"
1033         ---help---
1034           "Tagged command queuing" is a feature of SCSI-2 which improves
1035           performance: the host adapter can send several SCSI commands to a
1036           device's queue even if previous commands haven't finished yet.
1037           Because the device is intelligent, it can optimize its operations
1038           (like head positioning) based on its own request queue. Some SCSI
1039           devices don't implement this properly; if you want to disable this
1040           feature, enter 0 or 1 here (it doesn't matter which).
1042           The default value is 8 and should be supported by most hard disks.
1043           This value can be overridden from the boot command line using the
1044           'tags' option as follows (example):
1045           'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to
1046           4, set queue depth to 16 for target 2 and target 3 on controller 0
1047           and set queue depth to 10 for target 0 / lun 2 on controller 1.
1049           The normal answer therefore is to go with the default 8 and to use
1050           a boot command line option for devices that need to use a different
1051           command queue depth.
1053           There is no safe option other than using good SCSI devices.
1055 config SCSI_NCR53C8XX_MAX_TAGS
1056         int "maximum number of queued commands"
1057         depends on SCSI_ZALON
1058         default "32"
1059         ---help---
1060           This option allows you to specify the maximum number of commands
1061           that can be queued to any device, when tagged command queuing is
1062           possible. The default value is 32. Minimum is 2, maximum is 64.
1063           Modern hard disks are able to support 64 tags and even more, but
1064           do not seem to be faster when more than 32 tags are being used.
1066           So, the normal answer here is to go with the default value 32 unless
1067           you are using very large hard disks with large cache (>= 1 MB) that
1068           are able to take advantage of more than 32 tagged commands.
1070           There is no safe option and the default answer is recommended.
1072 config SCSI_NCR53C8XX_SYNC
1073         int "synchronous transfers frequency in MHz"
1074         depends on SCSI_ZALON
1075         default "20"
1076         ---help---
1077           The SCSI Parallel Interface-2 Standard defines 5 classes of transfer
1078           rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80.  The numbers
1079           are respectively the maximum data transfer rates in mega-transfers
1080           per second for each class.  For example, a FAST-20 Wide 16 device is
1081           able to transfer data at 20 million 16 bit packets per second for a
1082           total rate of 40 MB/s.
1084           You may specify 0 if you want to only use asynchronous data
1085           transfers. This is the safest and slowest option. Otherwise, specify
1086           a value between 5 and 80, depending on the capability of your SCSI
1087           controller.  The higher the number, the faster the data transfer.
1088           Note that 80 should normally be ok since the driver decreases the
1089           value automatically according to the controller's capabilities.
1091           Your answer to this question is ignored for controllers with NVRAM,
1092           since the driver will get this information from the user set-up.  It
1093           also can be overridden using a boot setup option, as follows
1094           (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate
1095           for FAST-20 synchronous data transfer (20 mega-transfers per
1096           second).
1098           The normal answer therefore is not to go with the default but to
1099           select the maximum value 80 allowing the driver to use the maximum
1100           value supported by each controller. If this causes problems with
1101           your SCSI devices, you should come back and decrease the value.
1103           There is no safe option other than using good cabling, right
1104           terminations and SCSI conformant devices.
1106 config SCSI_NCR53C8XX_NO_DISCONNECT
1107         bool "not allow targets to disconnect"
1108         depends on SCSI_ZALON && SCSI_NCR53C8XX_DEFAULT_TAGS=0
1109         help
1110           This option is only provided for safety if you suspect some SCSI
1111           device of yours to not support properly the target-disconnect
1112           feature. In that case, you would say Y here. In general however, to
1113           not allow targets to disconnect is not reasonable if there is more
1114           than 1 device on a SCSI bus. The normal answer therefore is N.
1116 config SCSI_QLOGIC_FAS
1117         tristate "Qlogic FAS SCSI support"
1118         depends on ISA && SCSI
1119         ---help---
1120           This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic
1121           FastSCSI! cards as well as any other card based on the FASXX chip
1122           (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).
1124           This driver does NOT support the PCI versions of these cards. The
1125           PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP
1126           SCSI support"), below.
1128           Information about this driver is contained in
1129           <file:Documentation/scsi/qlogicfas.txt>.  You should also read the
1130           SCSI-HOWTO, available from
1131           <http://www.tldp.org/docs.html#howto>.
1133           To compile this driver as a module, choose M here: the
1134           module will be called qlogicfas.
1136 config SCSI_QLOGIC_1280
1137         tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
1138         depends on PCI && SCSI
1139         help
1140           Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter.
1142           To compile this driver as a module, choose M here: the
1143           module will be called qla1280.
1145 config SCSI_QLOGICPTI
1146         tristate "PTI Qlogic, ISP Driver"
1147         depends on SBUS && SCSI
1148         help
1149           This driver supports SBUS SCSI controllers from PTI or QLogic. These
1150           controllers are known under Solaris as qpti and in the openprom as
1151           PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are
1152           driven by a different driver.
1154           To compile this driver as a module, choose M here: the
1155           module will be called qlogicpti.
1157 source "drivers/scsi/qla2xxx/Kconfig"
1158 source "drivers/scsi/qla4xxx/Kconfig"
1159 source "drivers/scsi/qedi/Kconfig"
1160 source "drivers/scsi/qedf/Kconfig"
1162 config SCSI_LPFC
1163         tristate "Emulex LightPulse Fibre Channel Support"
1164         depends on PCI && SCSI
1165         depends on SCSI_FC_ATTRS
1166         depends on NVME_TARGET_FC || NVME_TARGET_FC=n
1167         depends on NVME_FC || NVME_FC=n
1168         select CRC_T10DIF
1169         ---help---
1170           This lpfc driver supports the Emulex LightPulse
1171           Family of Fibre Channel PCI host adapters.
1173 config SCSI_LPFC_DEBUG_FS
1174         bool "Emulex LightPulse Fibre Channel debugfs Support"
1175         depends on SCSI_LPFC && DEBUG_FS
1176         ---help---
1177           This makes debugging information from the lpfc driver
1178           available via the debugfs filesystem.
1180 config SCSI_SIM710
1181         tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
1182         depends on EISA && SCSI
1183         select SCSI_SPI_ATTRS
1184         ---help---
1185           This driver is for NCR53c710 based SCSI host adapters.
1187           It currently supports Compaq EISA cards.
1189 config SCSI_DC395x
1190         tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
1191         depends on PCI && SCSI
1192         ---help---
1193           This driver supports PCI SCSI host adapters based on the ASIC
1194           TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
1196           This driver works, but is still in experimental status. So better
1197           have a bootable disk and a backup in case of emergency.
1199           Documentation can be found in <file:Documentation/scsi/dc395x.txt>.
1201           To compile this driver as a module, choose M here: the
1202           module will be called dc395x.
1204 config SCSI_AM53C974
1205         tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)"
1206         depends on PCI && SCSI
1207         select SCSI_SPI_ATTRS
1208         ---help---
1209           This driver supports PCI SCSI host adapters based on the Am53C974A
1210           chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard
1211           PCscsi/PCnet (Am53/79C974) solutions.
1212           This is a new implementation base on the generic esp_scsi driver.
1214           Note that this driver does NOT support Tekram DC390W/U/F, which are
1215           based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those.
1217           To compile this driver as a module, choose M here: the
1218           module will be called am53c974.
1220 config SCSI_NSP32
1221         tristate "Workbit NinjaSCSI-32Bi/UDE support"
1222         depends on PCI && SCSI && !64BIT
1223         help
1224           This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
1225           SCSI host adapter. Please read the SCSI-HOWTO, available from
1226           <http://www.tldp.org/docs.html#howto>.
1228           To compile this driver as a module, choose M here: the
1229           module will be called nsp32.
1231 config SCSI_WD719X
1232         tristate "Western Digital WD7193/7197/7296 support"
1233         depends on PCI && SCSI
1234         select EEPROM_93CX6
1235         ---help---
1236           This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI
1237           SCSI controllers (based on WD33C296A chip).
1239 config SCSI_DEBUG
1240         tristate "SCSI debugging host and device simulator"
1241         depends on SCSI
1242         select CRC_T10DIF
1243         help
1244           This pseudo driver simulates one or more hosts (SCSI initiators),
1245           each with one or more targets, each with one or more logical units.
1246           Defaults to one of each, creating a small RAM disk device. Many
1247           parameters found in the /sys/bus/pseudo/drivers/scsi_debug
1248           directory can be tweaked at run time.
1249           See <http://sg.danny.cz/sg/sdebug26.html> for more information.
1250           Mainly used for testing and best as a module. If unsure, say N.
1252 config SCSI_MESH
1253         tristate "MESH (Power Mac internal SCSI) support"
1254         depends on PPC32 && PPC_PMAC && SCSI
1255         help
1256           Many Power Macintoshes and clones have a MESH (Macintosh Enhanced
1257           SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the
1258           other Power Macintoshes do). Say Y to include support for this SCSI
1259           adaptor.
1261           To compile this driver as a module, choose M here: the
1262           module will be called mesh.
1264 config SCSI_MESH_SYNC_RATE
1265         int "maximum synchronous transfer rate (MB/s) (0 = async)"
1266         depends on SCSI_MESH
1267         default "5"
1268         help
1269           On Power Macintoshes (and clones) where the MESH SCSI bus adaptor
1270           drives a bus which is entirely internal to the machine (such as the
1271           7500, 7600, 8500, etc.), the MESH is capable of synchronous
1272           operation at up to 10 MB/s. On machines where the SCSI bus
1273           controlled by the MESH can have external devices connected, it is
1274           usually rated at 5 MB/s. 5 is a safe value here unless you know the
1275           MESH SCSI bus is internal only; in that case you can say 10. Say 0
1276           to disable synchronous operation.
1278 config SCSI_MESH_RESET_DELAY_MS
1279         int "initial bus reset delay (ms) (0 = no reset)"
1280         depends on SCSI_MESH
1281         default "4000"
1283 config SCSI_MAC53C94
1284         tristate "53C94 (Power Mac external SCSI) support"
1285         depends on PPC32 && PPC_PMAC && SCSI
1286         help
1287           On Power Macintoshes (and clones) with two SCSI buses, the external
1288           SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older
1289           machines which only have one SCSI bus, such as the 7200, also use
1290           the 53C94. Say Y to include support for the 53C94.
1292           To compile this driver as a module, choose M here: the
1293           module will be called mac53c94.
1295 source "drivers/scsi/arm/Kconfig"
1297 config JAZZ_ESP
1298         bool "MIPS JAZZ FAS216 SCSI support"
1299         depends on MACH_JAZZ && SCSI
1300         select SCSI_SPI_ATTRS
1301         help
1302           This is the driver for the onboard SCSI host adapter of MIPS Magnum
1303           4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
1304           systems.
1306 config A3000_SCSI
1307         tristate "A3000 WD33C93A support"
1308         depends on AMIGA && SCSI
1309         help
1310           If you have an Amiga 3000 and have SCSI devices connected to the
1311           built-in SCSI controller, say Y. Otherwise, say N.
1313           To compile this driver as a module, choose M here: the
1314           module will be called a3000.
1316 config A2091_SCSI
1317         tristate "A2091/A590 WD33C93A support"
1318         depends on ZORRO && SCSI
1319         help
1320           If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
1321           say N.
1323           To compile this driver as a module, choose M here: the
1324           module will be called a2091.
1326 config GVP11_SCSI
1327         tristate "GVP Series II WD33C93A support"
1328         depends on ZORRO && SCSI
1329         ---help---
1330           If you have a Great Valley Products Series II SCSI controller,
1331           answer Y. Also say Y if you have a later model of GVP SCSI
1332           controller (such as the GVP A4008 or a Combo board). Otherwise,
1333           answer N. This driver does NOT work for the T-Rex series of
1334           accelerators from TekMagic and GVP-M.
1336           To compile this driver as a module, choose M here: the
1337           module will be called gvp11.
1339 config SCSI_A4000T
1340         tristate "A4000T NCR53c710 SCSI support"
1341         depends on AMIGA && SCSI
1342         select SCSI_SPI_ATTRS
1343         help
1344           If you have an Amiga 4000T and have SCSI devices connected to the
1345           built-in SCSI controller, say Y. Otherwise, say N.
1347           To compile this driver as a module, choose M here: the
1348           module will be called a4000t.
1350 config SCSI_ZORRO7XX
1351         tristate "Zorro NCR53c710 SCSI support"
1352         depends on ZORRO && SCSI
1353         select SCSI_SPI_ATTRS
1354         help
1355           Support for various NCR53c710-based SCSI controllers on Zorro
1356           expansion boards for the Amiga.
1357           This includes:
1358             - the Amiga 4091 Zorro III SCSI-2 controller,
1359             - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
1360               (info at
1361               <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>),
1362             - the SCSI controller on the Phase5 Blizzard PowerUP 603e+
1363               accelerator card for the Amiga 1200,
1364             - the SCSI controller on the GVP Turbo 040/060 accelerator.
1366 config SCSI_ZORRO_ESP
1367         tristate "Zorro ESP SCSI support"
1368         depends on ZORRO && SCSI
1369         select SCSI_SPI_ATTRS
1370         select SCSI_ESP_PIO
1371         help
1372           Support for various NCR53C9x (ESP) based SCSI controllers on Zorro
1373           expansion boards for the Amiga.
1374           This includes:
1375             - the Phase5 Blizzard 1230 II and IV SCSI controllers,
1376             - the Phase5 Blizzard 2060 SCSI controller,
1377             - the Phase5 Blizzard Cyberstorm and Cyberstorm II SCSI
1378               controllers,
1379             - the Fastlane Zorro III SCSI controller.
1381 config ATARI_SCSI
1382         tristate "Atari native SCSI support"
1383         depends on ATARI && SCSI
1384         select SCSI_SPI_ATTRS
1385         ---help---
1386           If you have an Atari with built-in NCR5380 SCSI controller (TT,
1387           Falcon, ...) say Y to get it supported. Of course also, if you have
1388           a compatible SCSI controller (e.g. for Medusa).
1390           To compile this driver as a module, choose M here: the module will
1391           be called atari_scsi. If you also enable NVRAM support, the SCSI
1392           host's ID is taken from the setting in TT RTC NVRAM.
1394           This driver supports both styles of NCR integration into the
1395           system: the TT style (separate DMA), and the Falcon style (via
1396           ST-DMA, replacing ACSI).  It does NOT support other schemes, like
1397           in the Hades (without DMA).
1399 config MAC_SCSI
1400         tristate "Macintosh NCR5380 SCSI"
1401         depends on MAC && SCSI
1402         select SCSI_SPI_ATTRS
1403         help
1404           This is the NCR 5380 SCSI controller included on most of the 68030
1405           based Macintoshes.  If you have one of these say Y and read the
1406           SCSI-HOWTO, available from
1407           <http://www.tldp.org/docs.html#howto>.
1409 config SCSI_MAC_ESP
1410         tristate "Macintosh NCR53c9[46] SCSI"
1411         depends on MAC && SCSI
1412         select SCSI_SPI_ATTRS
1413         select SCSI_ESP_PIO
1414         help
1415           This is the NCR 53c9x SCSI controller found on most of the 68040
1416           based Macintoshes.
1418           To compile this driver as a module, choose M here: the module
1419           will be called mac_esp.
1421 config MVME147_SCSI
1422         bool "WD33C93 SCSI driver for MVME147"
1423         depends on MVME147 && SCSI=y
1424         select SCSI_SPI_ATTRS
1425         help
1426           Support for the on-board SCSI controller on the Motorola MVME147
1427           single-board computer.
1429 config MVME16x_SCSI
1430         tristate "NCR53C710 SCSI driver for MVME16x"
1431         depends on MVME16x && SCSI
1432         select SCSI_SPI_ATTRS
1433         help
1434           The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
1435           SCSI controller chip.  Almost everyone using one of these boards
1436           will want to say Y to this question.
1438 config BVME6000_SCSI
1439         tristate "NCR53C710 SCSI driver for BVME6000"
1440         depends on BVME6000 && SCSI
1441         select SCSI_SPI_ATTRS
1442         help
1443           The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
1444           SCSI controller chip.  Almost everyone using one of these boards
1445           will want to say Y to this question.
1447 config SUN3_SCSI
1448         tristate "Sun3 NCR5380 SCSI"
1449         depends on SUN3 && SCSI
1450         select SCSI_SPI_ATTRS
1451         help
1452           This option will enable support for the OBIO (onboard io) NCR5380
1453           SCSI controller found in the Sun 3/50 and 3/60, as well as for
1454           "Sun3" type VME scsi controllers also based on the NCR5380.
1455           General Linux information on the Sun 3 series (now discontinued)
1456           is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
1458 config SUN3X_ESP
1459         bool "Sun3x ESP SCSI"
1460         depends on SUN3X && SCSI=y
1461         select SCSI_SPI_ATTRS
1462         help
1463           The ESP was an on-board SCSI controller used on Sun 3/80
1464           machines.  Say Y here to compile in support for it.
1466 config SCSI_SUNESP
1467         tristate "Sparc ESP Scsi Driver"
1468         depends on SBUS && SCSI
1469         select SCSI_SPI_ATTRS
1470         help
1471           This is the driver for the Sun ESP SCSI host adapter. The ESP
1472           chipset is present in most SPARC SBUS-based computers and
1473           supports the Emulex family of ESP SCSI chips (esp100, esp100A,
1474           esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
1476           To compile this driver as a module, choose M here: the
1477           module will be called sun_esp.
1479 config ZFCP
1480         tristate "FCP host bus adapter driver for IBM eServer zSeries"
1481         depends on S390 && QDIO && SCSI
1482         depends on SCSI_FC_ATTRS
1483         help
1484           If you want to access SCSI devices attached to your IBM eServer
1485           zSeries by means of Fibre Channel interfaces say Y.
1486           For details please refer to the documentation provided by IBM at
1487           <http://oss.software.ibm.com/developerworks/opensource/linux390>
1489           This driver is also available as a module. This module will be
1490           called zfcp. If you want to compile it as a module, say M here
1491           and read <file:Documentation/kbuild/modules.rst>.
1493 config SCSI_PMCRAID
1494         tristate "PMC SIERRA Linux MaxRAID adapter support"
1495         depends on PCI && SCSI && NET
1496         select SGL_ALLOC
1497         ---help---
1498           This driver supports the PMC SIERRA MaxRAID adapters.
1500 config SCSI_PM8001
1501         tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
1502         depends on PCI && SCSI
1503         select SCSI_SAS_LIBSAS
1504         help
1505           This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
1506           based host adapters.
1508 config SCSI_BFA_FC
1509         tristate "Brocade BFA Fibre Channel Support"
1510         depends on PCI && SCSI
1511         depends on SCSI_FC_ATTRS
1512         help
1513           This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
1515           To compile this driver as a module, choose M here. The module will
1516           be called bfa.
1518 config SCSI_VIRTIO
1519         tristate "virtio-scsi support"
1520         depends on VIRTIO
1521         help
1522           This is the virtual HBA driver for virtio.  If the kernel will
1523           be used in a virtual machine, say Y or M.
1525 source "drivers/scsi/csiostor/Kconfig"
1527 source "drivers/scsi/pcmcia/Kconfig"
1529 endif # SCSI_LOWLEVEL
1531 source "drivers/scsi/device_handler/Kconfig"
1533 endmenu