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