[SCSI] lpfc 8.3.25: Adapter Interface fixes and changes
[linux-2.6.git] / drivers / scsi / Kconfig
index a5f0aaa..8d9dae8 100644 (file)
@@ -1,9 +1,15 @@
 menu "SCSI device support"
 
+config SCSI_MOD
+       tristate
+       default y if SCSI=n || SCSI=y
+       default m if SCSI=m
+
 config RAID_ATTRS
        tristate "RAID Transport Class"
        default n
        depends on BLOCK
+       depends on SCSI_MOD
        ---help---
          Provides RAID
 
@@ -21,7 +27,7 @@ config SCSI
          You also need to say Y here if you have a device which speaks
          the SCSI protocol.  Examples of this include the parallel port
          version of the IOMEGA ZIP drive, USB storage devices, Fibre
-         Channel, FireWire storage and the IDE-SCSI emulation driver.
+         Channel, and FireWire storage.
 
          To compile this driver as a module, choose M here and read
          <file:Documentation/scsi/scsi.txt>.
@@ -63,6 +69,7 @@ comment "SCSI support type (disk, tape, CD-ROM)"
 config BLK_DEV_SD
        tristate "SCSI disk support"
        depends on SCSI
+       select CRC_T10DIF if BLK_DEV_INTEGRITY
        ---help---
          If you want to use SCSI hard disks, Fibre Channel disks,
          Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
@@ -100,16 +107,16 @@ config CHR_DEV_OSST
        ---help---
          The OnStream SC-x0 SCSI tape drives cannot be driven by the
          standard st driver, but instead need this special osst driver and
-         use the  /dev/osstX char device nodes (major 206).  Via usb-storage
-         and ide-scsi, you may be able to drive the USB-x0 and DI-x0 drives
-         as well.  Note that there is also a second generation of OnStream
+         use the  /dev/osstX char device nodes (major 206).  Via usb-storage,
+         you may be able to drive the USB-x0 and DI-x0 drives as well.
+         Note that there is also a second generation of OnStream
          tape drives (ADR-x0) that supports the standard SCSI-2 commands for
          tapes (QIC-157) and can be driven by the standard driver st.
          For more information, you may have a look at the SCSI-HOWTO
          <http://www.tldp.org/docs.html#howto>  and
          <file:Documentation/scsi/osst.txt>  in the kernel source.
          More info on the OnStream driver may be found on
-         <http://linux1.onstream.nl/test/>
+         <http://sourceforge.net/projects/osst/>
          Please also have a look at the standard st docu, as most of it
          applies to osst as well.
 
@@ -120,10 +127,11 @@ config BLK_DEV_SR
        tristate "SCSI CDROM support"
        depends on SCSI
        ---help---
-         If you want to use a SCSI or FireWire CD-ROM under Linux,
-         say Y and read the SCSI-HOWTO and the CDROM-HOWTO at
-         <http://www.tldp.org/docs.html#howto>. Also make sure to say
-         Y or M to "ISO 9660 CD-ROM file system support" later.
+         If you want to use a CD or DVD drive attached to your computer
+         by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO
+         and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>.
+
+         Make sure to say Y or M to "ISO 9660 CD-ROM file system support".
 
          To compile this driver as a module, choose M here and read
          <file:Documentation/scsi/scsi.txt>.
@@ -148,9 +156,9 @@ config CHR_DEV_SG
          directly, so you need some additional software which knows how to
          talk to these devices using the SCSI protocol:
 
-         For scanners, look at SANE (<http://www.mostang.com/sane/>). For CD
+         For scanners, look at SANE (<http://www.sane-project.org/>). For CD
          writer software look at Cdrtools
-         (<http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html>)
+         (<http://cdrecord.berlios.de/private/cdrecord.html>)
          and for burning a "disk at once": CDRDAO
          (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
          quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
@@ -189,20 +197,19 @@ config SCSI_ENCLOSURE
          it has an enclosure device.  Selecting this option will just allow
          certain enclosure conditions to be reported and is not required.
 
-comment "Some SCSI devices (e.g. CD jukebox) support multiple LUNs"
-       depends on SCSI
-
 config SCSI_MULTI_LUN
        bool "Probe all LUNs on each SCSI device"
        depends on SCSI
        help
-         If you have a SCSI device that supports more than one LUN (Logical
-         Unit Number), e.g. a CD jukebox, and only one LUN is detected, you
-         can say Y here to force the SCSI driver to probe for multiple LUNs.
-         A SCSI device with multiple LUNs acts logically like multiple SCSI
-         devices. The vast majority of SCSI devices have only one LUN, and
-         so most people can say N here. The max_luns boot/module parameter 
-         allows to override this setting.
+         Some devices support more than one LUN (Logical Unit Number) in order
+         to allow access to several media, e.g. CD jukebox, USB card reader,
+         mobile phone in mass storage mode. This option forces the kernel to
+         probe for all LUNs by default. This setting can be overriden by
+         max_luns boot/module parameter. Note that this option does not affect
+         devices conforming to SCSI-3 or higher as they can explicitely report
+         their number of LUNs. It is safe to say Y here unless you have one of
+         those rare devices which reacts in an unexpected way when probed for
+         multiple LUNs.
 
 config SCSI_CONSTANTS
        bool "Verbose SCSI error reporting (kernel size +=12K)"
@@ -223,14 +230,15 @@ config SCSI_LOGGING
          can enable logging by saying Y to "/proc file system support" and
          "Sysctl support" below and executing the command
 
-         echo "scsi log token [level]" > /proc/scsi/scsi
+         echo <bitmask> > /proc/sys/dev/scsi/logging_level
 
-         at boot time after the /proc file system has been mounted.
+         where <bitmask> is a four byte value representing the logging type
+         and logging level for each type of logging selected.
 
-         There are a number of things that can be used for 'token' (you can
-         find them in the source: <file:drivers/scsi/scsi.c>), and this
-         allows you to select the types of information you want, and the
-         level allows you to select the level of verbosity.
+         There are a number of logging types and you can find them in the
+         source at <file:drivers/scsi/scsi_logging.h>. The logging levels
+         are also described in that file and they determine the verbosity of
+         the logging for each logging type.
 
          If you say N here, it may be harder to track down some types of SCSI
          problems. If you say Y here your kernel will be somewhat larger, but
@@ -256,10 +264,21 @@ config SCSI_SCAN_ASYNC
          or async on the kernel's command line.
 
 config SCSI_WAIT_SCAN
-       tristate
+       tristate  # No prompt here, this is an invisible symbol.
        default m
        depends on SCSI
        depends on MODULES
+# scsi_wait_scan is a loadable module which waits until all the async scans are
+# complete.  The idea is to use it in initrd/ initramfs scripts.  You modprobe
+# it after all the modprobes of the root SCSI drivers and it will wait until
+# they have all finished scanning their buses before allowing the boot to
+# proceed.  (This method is not applicable if targets boot independently in
+# parallel with the initiator, or with transports with non-deterministic target
+# discovery schemes, or if a transport driver does not support scsi_wait_scan.)
+#
+# This symbol is not exposed as a prompt because little is to be gained by
+# disabling it, whereas people who accidentally switch it off may wonder why
+# their mkinitrd gets into trouble.
 
 menu "SCSI Transports"
        depends on SCSI
@@ -297,7 +316,8 @@ config SCSI_ISCSI_ATTRS
 
 config SCSI_SAS_ATTRS
        tristate "SAS Transport Attributes"
-       depends on SCSI && BLK_DEV_BSG
+       depends on SCSI
+       select BLK_DEV_BSG
        help
          If you wish to export transport-specific information about
          each attached SAS device to sysfs, say Y.
@@ -325,7 +345,7 @@ menuconfig SCSI_LOWLEVEL
        depends on SCSI!=n
        default y
 
-if SCSI_LOWLEVEL
+if SCSI_LOWLEVEL && SCSI
 
 config ISCSI_TCP
        tristate "iSCSI Initiator over TCP/IP"
@@ -351,6 +371,19 @@ config ISCSI_TCP
 
         http://open-iscsi.org
 
+config ISCSI_BOOT_SYSFS
+       tristate "iSCSI Boot Sysfs Interface"
+       default n
+       help
+         This option enables support for exposing iSCSI boot information
+         via sysfs to userspace. If you wish to export this information,
+         say Y. Otherwise, say N.
+
+source "drivers/scsi/cxgbi/Kconfig"
+source "drivers/scsi/bnx2i/Kconfig"
+source "drivers/scsi/bnx2fc/Kconfig"
+source "drivers/scsi/be2iscsi/Kconfig"
+
 config SGIWD93_SCSI
        tristate "SGI WD93C93 SCSI Driver"
        depends on SGI_HAS_WD93 && SCSI
@@ -371,6 +404,16 @@ config BLK_DEV_3W_XXXX_RAID
          Please read the comments at the top of
          <file:drivers/scsi/3w-xxxx.c>.
 
+config SCSI_HPSA
+       tristate "HP Smart Array SCSI driver"
+       depends on PCI && SCSI
+       help
+         This driver supports HP Smart Array Controllers (circa 2009).
+         It is a SCSI alternative to the cciss driver, which is a block
+         driver.  Anyone wishing to use HP Smart Array controllers who
+         would prefer the devices be presented to linux as SCSI devices,
+         rather than as generic block devices should say Y here.
+
 config SCSI_3W_9XXX
        tristate "3ware 9xxx SATA-RAID support"
        depends on PCI && SCSI
@@ -382,6 +425,17 @@ config SCSI_3W_9XXX
          Please read the comments at the top of
          <file:drivers/scsi/3w-9xxx.c>.
 
+config SCSI_3W_SAS
+       tristate "3ware 97xx SAS/SATA-RAID support"
+       depends on PCI && SCSI
+       help
+         This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards.
+
+         <http://www.lsi.com>
+
+         Please read the comments at the top of
+         <file:drivers/scsi/3w-sas.c>.
+
 config SCSI_7000FASST
        tristate "7000FASST SCSI support"
        depends on ISA && SCSI && ISA_DMA_API
@@ -503,11 +557,11 @@ config SCSI_AIC7XXX_OLD
 
 source "drivers/scsi/aic7xxx/Kconfig.aic79xx"
 source "drivers/scsi/aic94xx/Kconfig"
+source "drivers/scsi/mvsas/Kconfig"
 
-# All the I2O code and drivers do not seem to be 64bit safe.
 config SCSI_DPT_I2O
        tristate "Adaptec I2O RAID support "
-       depends on !64BIT && SCSI && PCI && VIRT_TO_BUS
+       depends on SCSI && PCI && VIRT_TO_BUS
        help
          This driver supports all of Adaptec's I2O based RAID controllers as 
          well as the DPT SmartRaid V cards.  This is an Adaptec maintained
@@ -568,6 +622,7 @@ config SCSI_ARCMSR_AER
          To enable this function, choose Y here.
 
 source "drivers/scsi/megaraid/Kconfig.megaraid"
+source "drivers/scsi/mpt2sas/Kconfig"
 
 config SCSI_HPTIOP
        tristate "HighPoint RocketRAID 3xxx/4xxx Controller support"
@@ -588,18 +643,59 @@ config SCSI_BUSLOGIC
          <http://www.tldp.org/docs.html#howto>, and the files
          <file:Documentation/scsi/BusLogic.txt> and
          <file:Documentation/scsi/FlashPoint.txt> for more information.
+         Note that support for FlashPoint is only available for 32-bit
+         x86 configurations.
 
          To compile this driver as a module, choose M here: the
          module will be called BusLogic.
 
-config SCSI_OMIT_FLASHPOINT
-       bool "Omit FlashPoint support"
-       depends on SCSI_BUSLOGIC
+config SCSI_FLASHPOINT
+       bool "FlashPoint support"
+       depends on SCSI_BUSLOGIC && PCI && X86_32
        help
-         This option allows you to omit the FlashPoint support from the
+         This option allows you to add FlashPoint support to the
          BusLogic SCSI driver. The FlashPoint SCCB Manager code is
-         substantial, so users of MultiMaster Host Adapters may wish to omit
-         it.
+         substantial, so users of MultiMaster Host Adapters may not
+         wish to include it.
+
+config VMWARE_PVSCSI
+       tristate "VMware PVSCSI driver support"
+       depends on PCI && SCSI && X86
+       help
+         This driver supports VMware's para virtualized SCSI HBA.
+         To compile this driver as a module, choose M here: the
+         module will be called vmw_pvscsi.
+
+config LIBFC
+       tristate "LibFC module"
+       select SCSI_FC_ATTRS
+       select CRC32
+       ---help---
+         Fibre Channel library module
+
+config LIBFCOE
+       tristate "LibFCoE module"
+       select LIBFC
+       ---help---
+         Library for Fibre Channel over Ethernet module
+
+config FCOE
+       tristate "FCoE module"
+       depends on PCI
+       select LIBFCOE
+       ---help---
+         Fibre Channel over Ethernet module
+
+config FCOE_FNIC
+       tristate "Cisco FNIC Driver"
+       depends on PCI && X86
+       select LIBFCOE
+       help
+         This is support for the Cisco PCI-Express FCoE HBA.
+
+         To compile this driver as a module, choose M here and read
+         <file:Documentation/scsi/scsi.txt>.
+         The module will be called fnic.
 
 config SCSI_DMX3191D
        tristate "DMX3191D SCSI support"
@@ -722,7 +818,7 @@ config SCSI_FD_MCS
 
 config SCSI_GDTH
        tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support"
-       depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API && PCI_LEGACY
+       depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API
        ---help---
          Formerly called GDT SCSI Disk Array Controller Support.
 
@@ -734,6 +830,19 @@ config SCSI_GDTH
          To compile this driver as a module, choose M here: the
          module will be called gdth.
 
+config SCSI_ISCI
+       tristate "Intel(R) C600 Series Chipset SAS Controller"
+       depends on PCI && SCSI
+       depends on X86
+       # (temporary): known alpha quality driver
+       depends on EXPERIMENTAL
+       select SCSI_SAS_LIBSAS
+       ---help---
+         This driver supports the 6Gb/s SAS capabilities of the storage
+         control unit found in the Intel(R) C600 series chipset.
+
+         The experimental tag will be removed after the driver exits alpha
+
 config SCSI_GENERIC_NCR5380
        tristate "Generic NCR5380/53c400 SCSI PIO support"
        depends on ISA && SCSI
@@ -856,6 +965,7 @@ config SCSI_IPS
        ---help---
          This is support for the IBM ServeRAID hardware RAID controllers.
          See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
+         and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID>
          for more information.  If this driver does not work correctly
          without modification please contact the author by email at
          <ipslinux@adaptec.com>.
@@ -867,6 +977,7 @@ config SCSI_IBMVSCSI
        tristate "IBM Virtual SCSI support"
        depends on PPC_PSERIES || PPC_ISERIES
        select SCSI_SRP_ATTRS
+       select VIOPATH if PPC_ISERIES
        help
          This is the IBM POWER Virtual SCSI Client
 
@@ -887,6 +998,25 @@ config SCSI_IBMVSCSIS
          To compile this driver as a module, choose M here: the
          module will be called ibmvstgt.
 
+config SCSI_IBMVFC
+       tristate "IBM Virtual FC support"
+       depends on PPC_PSERIES && SCSI
+       select SCSI_FC_ATTRS
+       help
+         This is the IBM POWER Virtual FC Client
+
+         To compile this driver as a module, choose M here: the
+         module will be called ibmvfc.
+
+config SCSI_IBMVFC_TRACE
+       bool "enable driver internal trace"
+       depends on SCSI_IBMVFC
+       default y
+       help
+         If you say Y here, the driver will trace all commands issued
+         to the adapter. Performance impact is minimal. Trace can be
+         dumped using /sys/class/scsi_host/hostXX/trace.
+
 config SCSI_INITIO
        tristate "Initio 9100U(W) support"
        depends on PCI && SCSI
@@ -1294,14 +1424,6 @@ config SCSI_QLOGIC_FAS
          To compile this driver as a module, choose M here: the
          module will be called qlogicfas.
 
-config SCSI_QLOGIC_FC_FIRMWARE
-       bool "Include loadable firmware in driver"
-       depends on SCSI_QLOGIC_FC
-       help
-         Say Y to include ISP2X00 Fabric Initiator/Target Firmware, with
-         expanded LUN addressing and FcTape (FCP-2) support, in the
-         qlogicfc driver. This is required on some platforms.
-
 config SCSI_QLOGIC_1280
        tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
        depends on PCI && SCSI
@@ -1334,12 +1456,19 @@ config SCSI_LPFC
           This lpfc driver supports the Emulex LightPulse
           Family of Fibre Channel PCI host adapters.
 
+config SCSI_LPFC_DEBUG_FS
+       bool "Emulex LightPulse Fibre Channel debugfs Support"
+       depends on SCSI_LPFC && DEBUG_FS
+       help
+         This makes debugging information from the lpfc driver
+         available via the debugfs filesystem.
+
 config SCSI_SIM710
        tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
        depends on (EISA || MCA) && SCSI
        select SCSI_SPI_ATTRS
        ---help---
-         This driver for NCR53c710 based SCSI host adapters.
+         This driver is for NCR53c710 based SCSI host adapters.
 
          It currently supports Compaq EISA cards and NCR MCA cards
 
@@ -1489,13 +1618,14 @@ config SCSI_NSP32
 config SCSI_DEBUG
        tristate "SCSI debugging host simulator"
        depends on SCSI
+       select CRC_T10DIF
        help
          This is a host adapter simulator that can simulate multiple hosts
          each with multiple dummy SCSI devices (disks). It defaults to one
          host adapter with one dummy SCSI disk. Each dummy disk uses kernel
          RAM as storage (i.e. it is a ramdisk). To save space when multiple
          dummy disks are simulated, they share the same kernel RAM for 
-         their storage. See <http://www.torque.net/sg/sdebug.html> for more
+         their storage. See <http://sg.danny.cz/sg/sdebug26.html> for more
          information. This driver is primarily of use to those testing the
          SCSI and block subsystems. If unsure, say N.
 
@@ -1617,6 +1747,7 @@ config ATARI_SCSI
        tristate "Atari native SCSI support"
        depends on ATARI && SCSI
        select SCSI_SPI_ATTRS
+       select NVRAM
        ---help---
          If you have an Atari with built-in NCR5380 SCSI controller (TT,
          Falcon, ...) say Y to get it supported. Of course also, if you have
@@ -1647,14 +1778,6 @@ config ATARI_SCSI_RESET_BOOT
          boot process fractionally longer but may assist recovery from errors
          that leave the devices with SCSI operations partway completed.
 
-config TT_DMA_EMUL
-       bool "Hades SCSI DMA emulator"
-       depends on ATARI_SCSI && HADES
-       help
-         This option enables code which emulates the TT SCSI DMA chip on the
-         Hades. This increases the SCSI transfer rates at least ten times
-         compared to PIO transfers.
-
 config MAC_SCSI
        bool "Macintosh NCR5380 SCSI"
        depends on MAC && SCSI=y
@@ -1665,6 +1788,17 @@ config MAC_SCSI
          SCSI-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>.
 
+config SCSI_MAC_ESP
+       tristate "Macintosh NCR53c9[46] SCSI"
+       depends on MAC && SCSI
+       select SCSI_SPI_ATTRS
+       help
+         This is the NCR 53c9x SCSI controller found on most of the 68040
+         based Macintoshes.
+
+         To compile this driver as a module, choose M here: the module
+         will be called mac_esp.
+
 config MVME147_SCSI
        bool "WD33C93 SCSI driver for MVME147"
        depends on MVME147 && SCSI=y
@@ -1716,10 +1850,12 @@ config SCSI_SUNESP
        select SCSI_SPI_ATTRS
        help
          This is the driver for the Sun ESP SCSI host adapter. The ESP
-         chipset is present in most SPARC SBUS-based computers.
+         chipset is present in most SPARC SBUS-based computers and
+         supports the Emulex family of ESP SCSI chips (esp100, esp100A,
+         esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
 
          To compile this driver as a module, choose M here: the
-         module will be called esp.
+         module will be called sun_esp.
 
 config ZFCP
        tristate "FCP host bus adapter driver for IBM eServer zSeries"
@@ -1735,6 +1871,24 @@ config ZFCP
           called zfcp. If you want to compile it as a module, say M here
           and read <file:Documentation/kbuild/modules.txt>.
 
+config ZFCP_DIF
+       tristate "T10 DIF/DIX support for the zfcp driver (EXPERIMENTAL)"
+       depends on ZFCP && EXPERIMENTAL
+
+config SCSI_PMCRAID
+       tristate "PMC SIERRA Linux MaxRAID adapter support"
+       depends on PCI && SCSI && NET
+       ---help---
+         This driver supports the PMC SIERRA MaxRAID adapters.
+
+config SCSI_PM8001
+       tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
+       depends on PCI && SCSI
+       select SCSI_SAS_LIBSAS
+       help
+         This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
+         based host adapters.
+
 config SCSI_SRP
        tristate "SCSI RDMA Protocol helper library"
        depends on SCSI && PCI
@@ -1745,8 +1899,22 @@ config SCSI_SRP
          To compile this driver as a module, choose M here: the
          module will be called libsrp.
 
+config SCSI_BFA_FC
+       tristate "Brocade BFA Fibre Channel Support"
+       depends on PCI && SCSI
+       select SCSI_FC_ATTRS
+       help
+         This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
+
+         To compile this driver as a module, choose M here. The module will
+         be called bfa.
+
 endif # SCSI_LOWLEVEL
 
 source "drivers/scsi/pcmcia/Kconfig"
 
+source "drivers/scsi/device_handler/Kconfig"
+
+source "drivers/scsi/osd/Kconfig"
+
 endmenu