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