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