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