nfsd4: don't sleep in lease-break callback
[safe/jmp/linux-2.6] / drivers / ata / Kconfig
index b34e0a9..01c52c4 100644 (file)
@@ -2,13 +2,11 @@
 # SATA/PATA driver configuration
 #
 
-menu "Serial ATA (prod) and Parallel ATA (experimental) drivers"
-
-config ATA
-       tristate "ATA device support"
+menuconfig ATA
+       tristate "Serial ATA and Parallel ATA drivers"
+       depends on HAS_IOMEM
        depends on BLOCK
        depends on !(M32R || M68K) || BROKEN
-       depends on !SUN4 || BROKEN
        select SCSI
        ---help---
          If you want to use a ATA hard disk, ATA tape drive, ATA CD-ROM or
@@ -17,8 +15,48 @@ config ATA
          that "speaks" the ATA protocol, also called ATA controller),
          because you will be asked for it.
 
+         NOTE: ATA enables basic SCSI support; *however*,
+         'SCSI disk support', 'SCSI tape support', or
+         'SCSI CDROM support' may also be needed,
+         depending on your hardware configuration.
+
 if ATA
 
+config ATA_NONSTANDARD
+       bool
+       default n
+
+config ATA_VERBOSE_ERROR
+       bool "Verbose ATA error reporting"
+       default y
+       help
+         This option adds parsing of ATA command descriptions and error bits
+         in libata kernel output, making it easier to interpret.
+         This option will enlarge the kernel by approx. 6KB. Disable it only
+         if kernel size is more important than ease of debugging.
+
+         If unsure, say Y.
+
+config ATA_ACPI
+       bool "ATA ACPI Support"
+       depends on ACPI && PCI
+       default y
+       help
+         This option adds support for ATA-related ACPI objects.
+         These ACPI objects add the ability to retrieve taskfiles
+         from the ACPI BIOS and write them to the disk controller.
+         These objects may be related to performance, security,
+         power management, or other areas.
+         You can disable this at kernel boot time by using the
+         option libata.noacpi=1
+
+config SATA_PMP
+       bool "SATA Port Multiplier support"
+       default y
+       help
+         This option adds support for SATA Port Multipliers
+         (the SATA version of an ethernet hub, or SAS expander).
+
 config SATA_AHCI
        tristate "AHCI SATA support"
        depends on PCI
@@ -27,6 +65,43 @@ config SATA_AHCI
 
          If unsure, say N.
 
+config SATA_SIL24
+       tristate "Silicon Image 3124/3132 SATA support"
+       depends on PCI
+       help
+         This option enables support for Silicon Image 3124/3132 Serial ATA.
+
+         If unsure, say N.
+
+config SATA_FSL
+       tristate "Freescale 3.0Gbps SATA support"
+       depends on FSL_SOC
+       help
+         This option enables support for Freescale 3.0Gbps SATA controller.
+         It can be found on MPC837x and MPC8315.
+
+         If unsure, say N.
+
+config ATA_SFF
+       bool "ATA SFF support"
+       default y
+       help
+         This option adds support for ATA controllers with SFF
+         compliant or similar programming interface.
+
+         SFF is the legacy IDE interface that has been around since
+         the dawn of time.  Almost all PATA controllers have an
+         SFF interface.  Many SATA controllers have an SFF interface
+         when configured into a legacy compatibility mode.
+
+         For users with exclusively modern controllers like AHCI,
+         Silicon Image 3124, or Marvell 6440, you may choose to
+         disable this unneeded SFF support.
+
+         If unsure, say Y.
+
+if ATA_SFF
+
 config SATA_SVW
        tristate "ServerWorks Frodo / Apple K2 SATA support"
        depends on PCI
@@ -37,21 +112,21 @@ config SATA_SVW
          If unsure, say N.
 
 config ATA_PIIX
-       tristate "Intel PIIX/ICH SATA support"
+       tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
        depends on PCI
        help
          This option enables support for ICH5/6/7/8 Serial ATA
-         and support for PATA on the Intel PIIX3/PIIX4/ICH series
-         PATA host controllers.
+         and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
+         host controllers.
 
          If unsure, say N.
 
 config SATA_MV
-       tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Marvell SATA support"
        help
          This option enables support for the Marvell Serial ATA family.
-         Currently supports 88SX[56]0[48][01] chips.
+         Currently supports 88SX[56]0[48][01] PCI(-X) chips,
+         as well as the newer [67]042 PCI-X/PCIe and SOC devices.
 
          If unsure, say N.
 
@@ -88,7 +163,7 @@ config SATA_PROMISE
          If unsure, say N.
 
 config SATA_SX4
-       tristate "Promise SATA SX4 support"
+       tristate "Promise SATA SX4 support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables support for Promise Serial ATA SX4.
@@ -103,20 +178,15 @@ config SATA_SIL
 
          If unsure, say N.
 
-config SATA_SIL24
-       tristate "Silicon Image 3124/3132 SATA support"
-       depends on PCI
-       help
-         This option enables support for Silicon Image 3124/3132 Serial ATA.
-
-         If unsure, say N.
-
 config SATA_SIS
-       tristate "SiS 964/180 SATA support"
+       tristate "SiS 964/965/966/180 SATA support"
        depends on PCI
+       select PATA_SIS
        help
-         This option enables support for SiS Serial ATA 964/180.
-
+         This option enables support for SiS Serial ATA on
+         SiS 964/965/966/180 and Parallel ATA on SiS 180.
+         The PATA support for SiS 180 requires additionally to
+         enable the PATA_SIS driver in the config.
          If unsure, say N.
 
 config SATA_ULI
@@ -143,14 +213,24 @@ config SATA_VITESSE
 
          If unsure, say N.
 
-config SATA_INTEL_COMBINED
-       bool
-       depends on IDE=y && !BLK_DEV_IDE_SATA && (SATA_AHCI || ATA_PIIX)
-       default y
+config SATA_INIC162X
+       tristate "Initio 162x SATA support"
+       depends on PCI
+       help
+         This option enables support for Initio 162x Serial ATA.
+
+config PATA_ACPI
+       tristate "ACPI firmware driver for PATA"
+       depends on ATA_ACPI
+       help
+         This option enables an ACPI method driver which drives
+         motherboard PATA controller interfaces through the ACPI
+         firmware in the BIOS. This driver can sometimes handle
+         otherwise unsupported hardware.
 
 config PATA_ALI
-       tristate "ALi PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "ALi PATA support"
+       depends on PCI
        help
          This option enables support for the ALi ATA interfaces
          found on the many ALi chipsets.
@@ -158,7 +238,7 @@ config PATA_ALI
          If unsure, say N.
 
 config PATA_AMD
-       tristate "AMD/NVidia PATA support (Experimental)"
+       tristate "AMD/NVidia PATA support"
        depends on PCI
        help
          This option enables support for the AMD and NVidia PATA
@@ -167,25 +247,53 @@ config PATA_AMD
          If unsure, say N.
 
 config PATA_ARTOP
-       tristate "ARTOP 6210/6260 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "ARTOP 6210/6260 PATA support"
+       depends on PCI
        help
          This option enables support for ARTOP PATA controllers.
 
          If unsure, say N.
 
+config PATA_ATP867X
+       tristate "ARTOP/Acard ATP867X PATA support"
+       depends on PCI
+       help
+         This option enables support for ARTOP/Acard ATP867X PATA
+         controllers.
+
+         If unsure, say N.
+
+config PATA_AT32
+       tristate "Atmel AVR32 PATA support (Experimental)"
+       depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+       help
+         This option enables support for the IDE devices on the
+         Atmel AT32AP platform.
+
+         If unsure, say N.
+
 config PATA_ATIIXP
-       tristate "ATI PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "ATI PATA support"
+       depends on PCI
        help
          This option enables support for the ATI ATA interfaces
          found on the many ATI chipsets.
 
          If unsure, say N.
 
+config PATA_CMD640_PCI
+       tristate "CMD640 PCI PATA support (Experimental)"
+       depends on PCI && EXPERIMENTAL
+       help
+         This option enables support for the CMD640 PCI IDE
+         interface chip. Only the primary channel is currently
+         supported.
+
+         If unsure, say N.
+
 config PATA_CMD64X
-       tristate "CMD64x PATA support (Very Experimental)"
-       depends on PCI&& EXPERIMENTAL
+       tristate "CMD64x PATA support"
+       depends on PCI
        help
          This option enables support for the CMD64x series chips
          except for the CMD640.
@@ -202,8 +310,8 @@ config PATA_CS5520
          If unsure, say N.
 
 config PATA_CS5530
-       tristate "CS5530 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "CS5530 PATA support"
+       depends on PCI
        help
          This option enables support for the Cyrix/NatSemi/AMD CS5530
          companion chip used with the MediaGX/Geode processor family.
@@ -219,6 +327,15 @@ config PATA_CS5535
 
          If unsure, say N.
 
+config PATA_CS5536
+       tristate "CS5536 PATA support"
+       depends on PCI && X86 && !X86_64
+       help
+         This option enables support for the AMD CS5536
+         companion chip used with the Geode LX processor family.
+
+         If unsure, say N.
+
 config PATA_CYPRESS
        tristate "Cypress CY82C693 PATA support (Very Experimental)"
        depends on PCI && EXPERIMENTAL
@@ -247,8 +364,8 @@ config ATA_GENERIC
          If unsure, say N.
 
 config PATA_HPT366
-       tristate "HPT 366/368 PATA support (Very Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "HPT 366/368 PATA support"
+       depends on PCI
        help
          This option enables support for the HPT 366 and 368
          PATA controllers via the new ATA layer.
@@ -256,8 +373,8 @@ config PATA_HPT366
          If unsure, say N.
 
 config PATA_HPT37X
-       tristate "HPT 370/370A/371/372/374/302 PATA support (Very Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "HPT 370/370A/371/372/374/302 PATA support"
+       depends on PCI
        help
          This option enables support for the majority of the later HPT
          PATA controllers via the new ATA layer.
@@ -265,8 +382,8 @@ config PATA_HPT37X
          If unsure, say N.
 
 config PATA_HPT3X2N
-       tristate "HPT 372N/302N PATA support (Very Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "HPT 372N/302N PATA support"
+       depends on PCI
        help
          This option enables support for the N variant HPT PATA
          controllers via the new ATA layer
@@ -274,7 +391,7 @@ config PATA_HPT3X2N
          If unsure, say N.
 
 config PATA_HPT3X3
-       tristate "HPT 343/363 PATA support (Experimental)"
+       tristate "HPT 343/363 PATA support"
        depends on PCI
        help
          This option enables support for the HPT 343/363
@@ -282,9 +399,17 @@ config PATA_HPT3X3
 
          If unsure, say N.
 
+config PATA_HPT3X3_DMA
+       bool "HPT 343/363 DMA support"
+       depends on PATA_HPT3X3
+       help
+         This option enables DMA support for the HPT343/363
+         controllers. Enable with care as there are still some
+         problems with DMA on this chipset.
+
 config PATA_ISAPNP
-       tristate "ISA Plug and Play PATA support (Very Experimental)"
-       depends on EXPERIMENTAL && ISAPNP
+       tristate "ISA Plug and Play PATA support"
+       depends on ISAPNP
        help
          This option enables support for ISA plug & play ATA
          controllers such as those found on old soundcards.
@@ -292,8 +417,8 @@ config PATA_ISAPNP
          If unsure, say N.
 
 config PATA_IT821X
-       tristate "IT821x PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "IT8211/2 PATA support"
+       depends on PCI
        help
          This option enables support for the ITE 8211 and 8212
          PATA controllers via the new ATA layer, including RAID
@@ -301,6 +426,15 @@ config PATA_IT821X
 
          If unsure, say N.
 
+config PATA_IT8213
+       tristate "IT8213 PATA support (Experimental)"
+       depends on PCI && EXPERIMENTAL
+       help
+         This option enables support for the ITE 821 PATA
+          controllers via the new ATA layer.
+
+         If unsure, say N.
+
 config PATA_JMICRON
        tristate "JMicron PATA support"
        depends on PCI
@@ -312,9 +446,9 @@ config PATA_JMICRON
 
 config PATA_LEGACY
        tristate "Legacy ISA PATA support (Experimental)"
-       depends on ISA && EXPERIMENTAL
+       depends on (ISA || PCI)  && EXPERIMENTAL
        help
-         This option enables support for ISA/VLB bus legacy PATA
+         This option enables support for ISA/VLB/PCI bus legacy PATA
          ports and allows them to be accessed via the new ATA layer.
 
          If unsure, say N.
@@ -332,8 +466,20 @@ config PATA_MARVELL
        tristate "Marvell PATA support via legacy mode"
        depends on PCI
        help
-         This option enables limited support for the Marvell 88SE6145 ATA
-         controller.
+         This option enables limited support for the Marvell 88SE61xx ATA
+         controllers. If you wish to use only the SATA ports then select
+         the AHCI driver alone. If you wish to the use the PATA port or
+         both SATA and PATA include this driver.
+
+         If unsure, say N.
+
+config PATA_MPC52xx
+       tristate "Freescale MPC52xx SoC internal IDE"
+       depends on PPC_MPC52xx && PPC_BESTCOMM
+       select PPC_BESTCOMM_ATA
+       help
+         This option enables support for integrated IDE controller
+         of the Freescale MPC52xx SoC.
 
          If unsure, say N.
 
@@ -346,10 +492,10 @@ config PATA_MPIIX
          If unsure, say N.
 
 config PATA_OLDPIIX
-       tristate "Intel PATA old PIIX support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Intel PATA old PIIX support"
+       depends on PCI
        help
-         This option enables support for old(?) PIIX PATA support.
+         This option enables support for early PIIX PATA support.
 
          If unsure, say N.
 
@@ -362,15 +508,33 @@ config PATA_NETCELL
 
          If unsure, say N.
 
+config PATA_NINJA32
+       tristate "Ninja32/Delkin Cardbus ATA support"
+       depends on PCI
+       help
+         This option enables support for the Ninja32, Delkin and
+         possibly other brands of Cardbus ATA adapter
+
+         If unsure, say N.
+
 config PATA_NS87410
-       tristate "Nat Semi NS87410 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Nat Semi NS87410 PATA support"
+       depends on PCI
        help
          This option enables support for the National Semiconductor
          NS87410 PCI-IDE controller.
 
          If unsure, say N.
 
+config PATA_NS87415
+       tristate "Nat Semi NS87415 PATA support"
+       depends on PCI
+       help
+         This option enables support for the National Semiconductor
+         NS87415 PCI-IDE controller.
+
+         If unsure, say N.
+
 config PATA_OPTI
        tristate "OPTI621/6215 PATA support (Very Experimental)"
        depends on PCI && EXPERIMENTAL
@@ -381,12 +545,21 @@ config PATA_OPTI
          If unsure, say N.
 
 config PATA_OPTIDMA
-       tristate "OPTI FireStar PATA support (Veyr Experimental)"
+       tristate "OPTI FireStar PATA support (Very Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables DMA/PIO support for the later OPTi
          controllers found on some old motherboards and in some
-         latops
+         laptops.
+
+         If unsure, say N.
+
+config PATA_PALMLD
+       tristate "Palm LifeDrive PATA support"
+       depends on MACH_PALMLD
+       help
+         This option enables support for Palm LifeDrive's internal ATA
+         port via the new ATA layer.
 
          If unsure, say N.
 
@@ -399,9 +572,17 @@ config PATA_PCMCIA
 
          If unsure, say N.
 
+config PATA_PDC2027X
+       tristate "Promise PATA 2027x support"
+       depends on PCI
+       help
+         This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
+
+         If unsure, say N.
+
 config PATA_PDC_OLD
-       tristate "Older Promise PATA controller support (Very Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Older Promise PATA controller support"
+       depends on PCI
        help
          This option enables support for the Promise 20246, 20262, 20263,
          20265 and 20267 adapters.
@@ -415,7 +596,7 @@ config PATA_QDI
          Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
 
 config PATA_RADISYS
-       tristate "RADISYS 82600 PATA support (Very experimental)"
+       tristate "RADISYS 82600 PATA support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables support for the RADISYS 82600
@@ -423,6 +604,25 @@ config PATA_RADISYS
 
          If unsure, say N.
 
+config PATA_RB532
+       tristate "RouterBoard 532 PATA CompactFlash support"
+       depends on MIKROTIK_RB532
+       help
+         This option enables support for the RouterBoard 532
+         PATA CompactFlash controller.
+
+         If unsure, say N.
+
+config PATA_RDC
+       tristate "RDC PATA support"
+       depends on PCI
+       help
+         This option enables basic support for the later RDC PATA controllers
+         controllers via the new ATA layer. For the RDC 1010, you need to
+         enable the IT821X driver instead.
+
+         If unsure, say N.
+
 config PATA_RZ1000
        tristate "PC Tech RZ1000 PATA support"
        depends on PCI
@@ -433,8 +633,8 @@ config PATA_RZ1000
          If unsure, say N.
 
 config PATA_SC1200
-       tristate "SC1200 PATA support (Raving Lunatic)"
-       depends on PCI && EXPERIMENTAL
+       tristate "SC1200 PATA support"
+       depends on PCI
        help
          This option enables support for the NatSemi/AMD SC1200 SoC
          companion chip used with the Geode processor family.
@@ -442,35 +642,36 @@ config PATA_SC1200
          If unsure, say N.
 
 config PATA_SERVERWORKS
-       tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
+       depends on PCI
        help
          This option enables support for the Serverworks OSB4/CSB5/CSB6 and
          HT1000 PATA controllers, via the new ATA layer.
 
          If unsure, say N.
 
-config PATA_PDC2027X
-       tristate "Promise PATA 2027x support"
+config PATA_SIL680
+       tristate "CMD / Silicon Image 680 PATA support"
        depends on PCI
        help
-         This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
+         This option enables support for CMD / Silicon Image 680 PATA.
 
          If unsure, say N.
 
-config PATA_SIL680
-       tristate "CMD / Silicon Image 680 PATA support"
+config PATA_SIS
+       tristate "SiS PATA support"
        depends on PCI
        help
-         This option enables support for CMD / Silicon Image 680 PATA.
+         This option enables support for SiS PATA controllers
 
          If unsure, say N.
 
-config PATA_SIS
-       tristate "SiS PATA support (Experimental)"
+config PATA_TOSHIBA
+       tristate "Toshiba Piccolo support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
-         This option enables support for SiS PATA controllers
+         Support for the Toshiba Piccolo controllers. Currently only the
+         primary channel is supported by this driver.
 
          If unsure, say N.
 
@@ -499,15 +700,49 @@ config PATA_WINBOND_VLB
          Support for the Winbond W83759A controller on Vesa Local Bus
          systems.
 
+config HAVE_PATA_PLATFORM
+       bool
+       help
+         This is an internal configuration node for any machine that
+         uses pata-platform driver to enable the relevant driver in the
+         configuration structure without having to submit endless patches
+         to update the PATA_PLATFORM entry.
+
 config PATA_PLATFORM
        tristate "Generic platform device PATA support"
-       depends on EMBEDDED
+       depends on EMBEDDED || PPC || HAVE_PATA_PLATFORM
        help
          This option enables support for generic directly connected ATA
          devices commonly found on embedded systems.
 
          If unsure, say N.
 
+config PATA_AT91
+       tristate "PATA support for AT91SAM9260"
+       depends on ARM && ARCH_AT91
+       help
+         This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.
+
+         If unsure, say N.
+
+config PATA_OF_PLATFORM
+       tristate "OpenFirmware platform device PATA support"
+       depends on PATA_PLATFORM && PPC_OF
+       help
+         This option enables support for generic directly connected ATA
+         devices commonly found on embedded systems with OpenFirmware
+         bindings.
+
+         If unsure, say N.
+
+config PATA_ICSIDE
+       tristate "Acorn ICS PATA support"
+       depends on ARM && ARCH_ACORN
+       help
+         On Acorn systems, say Y here if you wish to use the ICS PATA
+         interface card.  This is not required for ICS partition support.
+         If you are unsure, say N to this.
+
 config PATA_IXP4XX_CF
        tristate "IXP4XX Compact Flash support"
        depends on ARCH_IXP4XX
@@ -518,6 +753,51 @@ config PATA_IXP4XX_CF
 
          If unsure, say N.
 
-endif
-endmenu
+config PATA_OCTEON_CF
+       tristate "OCTEON Boot Bus Compact Flash support"
+       depends on CPU_CAVIUM_OCTEON
+       help
+         This option enables a polled compact flash driver for use with
+         compact flash cards attached to the OCTEON boot bus.
+
+         If unsure, say N.
+
+config PATA_SCC
+       tristate "Toshiba's Cell Reference Set IDE support"
+       depends on PCI && PPC_CELLEB
+       help
+         This option enables support for the built-in IDE controller on
+         Toshiba Cell Reference Board.
+
+         If unsure, say N.
+
+config PATA_SCH
+       tristate "Intel SCH PATA support"
+       depends on PCI
+       help
+         This option enables support for Intel SCH PATA on the Intel
+         SCH (US15W, US15L, UL11L) series host controllers.
+
+         If unsure, say N.
+
+config PATA_BF54X
+       tristate "Blackfin 54x ATAPI support"
+       depends on BF542 || BF548 || BF549
+       help
+         This option enables support for the built-in ATAPI controller on
+         Blackfin 54x family chips.
+
+         If unsure, say N.
+
+config PATA_MACIO
+       tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
+       depends on PPC_PMAC
+       help
+         Most IDE capable PowerMacs have IDE busses driven by a variant
+          of this controller which is part of the Apple chipset used on
+          most PowerMac models. Some models have multiple busses using
+          different chipsets, though generally, MacIO is one of them.
+
 
+endif # ATA_SFF
+endif # ATA