Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds
[pandora-kernel.git] / drivers / ide / Kconfig
index 24ad104..d1e8df1 100644 (file)
@@ -152,9 +152,22 @@ config BLK_DEV_IDEDISK
          If unsure, say Y.
 
 config IDEDISK_MULTI_MODE
-       bool "Use multi-mode by default"
-       help
-         If you get this error, try to say Y here:
+       bool "Use multiple sector mode for Programmed Input/Output by default"
+       help
+         This setting is irrelevant for most IDE disks, with direct memory
+         access, to which multiple sector mode does not apply. Multiple sector
+         mode is a feature of most modern IDE hard drives, permitting the
+         transfer of multiple sectors per Programmed Input/Output interrupt,
+         rather than the usual one sector per interrupt. When this feature is
+         enabled, it can reduce operating system overhead for disk Programmed
+         Input/Output. On some systems, it also can increase the data
+         throughput of Programmed Input/Output. Some drives, however, seemed
+         to run slower with multiple sector mode enabled. Some drives claimed
+         to support multiple sector mode, but lost data at some settings.
+         Under rare circumstances, such failures could result in massive
+         filesystem corruption.
+
+         If you get the following error, try to say Y here:
 
          hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
          hda: set_multmode: error=0x04 { DriveStatusError }
@@ -308,6 +321,14 @@ config IDE_GENERIC
        help
          If unsure, say N.
 
+config BLK_DEV_PLATFORM
+       tristate "Platform driver for IDE interfaces"
+       help
+         This is the platform IDE driver, used mostly for Memory Mapped
+         IDE devices, like Compact Flashes running in True IDE mode.
+
+         If unsure, say N.
+
 config BLK_DEV_CMD640
        bool "CMD640 chipset bugfix/support"
        depends on X86
@@ -351,17 +372,16 @@ config BLK_DEV_IDEPNP
          would like the kernel to automatically detect and activate
          it, say Y here.
 
+if PCI
+
+comment "PCI IDE chipsets support"
+
 config BLK_DEV_IDEPCI
-       bool "PCI IDE chipset support" if PCI
-       default BLK_DEV_IDEDMA_PMAC if PPC_PMAC && BLK_DEV_IDEDMA_PMAC
-       help
-         Say Y here for PCI systems which use IDE drive(s).
-         This option helps the IDE driver to automatically detect and
-         configure all PCI-based IDE interfaces in your system.
+       bool
 
 config IDEPCI_SHARE_IRQ
        bool "Sharing PCI IDE interrupts support"
-       depends on PCI && BLK_DEV_IDEPCI
+       depends on BLK_DEV_IDEPCI
        help
          Some ATA/IDE chipsets have hardware support which allows for
          sharing a single IRQ with other cards. To enable support for
@@ -371,11 +391,12 @@ config IDEPCI_SHARE_IRQ
          If unsure, say N.
 
 config IDEPCI_PCIBUS_ORDER
-       def_bool PCI && BLK_DEV_IDE=y && BLK_DEV_IDEPCI
+       def_bool BLK_DEV_IDE=y && BLK_DEV_IDEPCI
 
+# TODO: split it on per host driver config options (or module parameters)
 config BLK_DEV_OFFBOARD
        bool "Boot off-board chipsets first support"
-       depends on PCI && BLK_DEV_IDEPCI
+       depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT34X || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001)
        help
          Normally, IDE controllers built into the motherboard (on-board
          controllers) are assigned to ide0 and ide1 while those on add-in PCI
@@ -398,21 +419,23 @@ config BLK_DEV_OFFBOARD
 
 config BLK_DEV_GENERIC
        tristate "Generic PCI IDE Chipset Support"
-       depends on BLK_DEV_IDEPCI
+       select BLK_DEV_IDEPCI
         help
           This option provides generic support for various PCI IDE Chipsets
           which otherwise might not be supported.
 
 config BLK_DEV_OPTI621
        tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
-       depends on PCI && BLK_DEV_IDEPCI && EXPERIMENTAL
+       depends on EXPERIMENTAL
+       select BLK_DEV_IDEPCI
        help
          This is a driver for the OPTi 82C621 EIDE controller.
          Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
 
 config BLK_DEV_RZ1000
        tristate "RZ1000 chipset bugfix/support"
-       depends on PCI && BLK_DEV_IDEPCI && X86
+       depends on X86
+       select BLK_DEV_IDEPCI
        help
          The PC-Technologies RZ1000 IDE chip is used on many common 486 and
          Pentium motherboards, usually along with the "Neptune" chipset.
@@ -423,43 +446,12 @@ config BLK_DEV_RZ1000
          things will operate 100% reliably.
 
 config BLK_DEV_IDEDMA_PCI
-       bool "Generic PCI bus-master DMA support"
-       depends on PCI && BLK_DEV_IDEPCI
-       ---help---
-         If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and
-         is capable of bus-master DMA operation (most Pentium PCI systems),
-         you will want to say Y here to reduce CPU overhead. You can then use
-         the "hdparm" utility to enable DMA for drives for which it was not
-         enabled automatically. By default, DMA is not enabled automatically
-         for these drives, but you can change that by saying Y to the
-         following question "Use DMA by default when available". You can get
-         the latest version of the hdparm utility from
-         <ftp://ibiblio.org/pub/Linux/system/hardware/>.
-
-         Read the comments at the beginning of <file:drivers/ide/ide-dma.c>
-         and the file <file:Documentation/ide.txt> for more information.
-
-         It is safe to say Y to this question.
-
-if BLK_DEV_IDEDMA_PCI
-
-config BLK_DEV_IDEDMA_FORCED
-       bool "Force enable legacy 2.0.X HOSTS to use DMA"
-       help
-         This is an old piece of lost code from Linux 2.0 Kernels.
-
-         Generally say N here.
-
-config IDEDMA_ONLYDISK
-       bool "Enable DMA only for disks "
-       help
-         This is used if you know your ATAPI Devices are going to fail DMA
-         Transfers.
-
-         Generally say N here.
+       bool
+       select BLK_DEV_IDEPCI
 
 config BLK_DEV_AEC62XX
        tristate "AEC62XX chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
          IDE controllers. This allows the kernel to change PIO, DMA and UDMA
@@ -467,6 +459,7 @@ config BLK_DEV_AEC62XX
 
 config BLK_DEV_ALI15X3
        tristate "ALI M15x3 chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
          onboard chipsets.  It also tests for Simplex mode and enables
@@ -495,6 +488,7 @@ config WDC_ALI15X3
 
 config BLK_DEV_AMD74XX
        tristate "AMD and nVidia IDE support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for AMD-7xx and AMD-8111 chips
          and also for the nVidia nForce chip.  This allows the kernel to
@@ -504,6 +498,7 @@ config BLK_DEV_AMD74XX
 config BLK_DEV_ATIIXP
        tristate "ATI IXP chipset IDE support"
        depends on X86
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for ATI IXP chipset.
          This allows the kernel to change PIO, DMA and UDMA speeds
@@ -513,18 +508,21 @@ config BLK_DEV_ATIIXP
 
 config BLK_DEV_CMD64X
        tristate "CMD64{3|6|8|9} chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          Say Y here if you have an IDE controller which uses any of these
          chipsets: CMD643, CMD646, or CMD648.
 
 config BLK_DEV_TRIFLEX
        tristate "Compaq Triflex IDE support"
+       select BLK_DEV_IDEDMA_PCI
        help
          Say Y here if you have a Compaq Triflex IDE controller, such
          as those commonly found on Compaq Pentium-Pro systems
 
 config BLK_DEV_CY82C693
        tristate "CY82C693 chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds detection and support for the CY82C693 chipset
          used on Digital's PC-Alpha 164SX boards.
@@ -535,6 +533,7 @@ config BLK_DEV_CY82C693
 config BLK_DEV_CS5520
        tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
        depends on EXPERIMENTAL
+       select BLK_DEV_IDEDMA_PCI
        help
          Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
          5510/5520 chipset. This will automatically be detected and
@@ -544,6 +543,7 @@ config BLK_DEV_CS5520
 
 config BLK_DEV_CS5530
        tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
          will automatically be detected and configured if found.
@@ -553,6 +553,7 @@ config BLK_DEV_CS5530
 config BLK_DEV_CS5535
        tristate "AMD CS5535 chipset support"
        depends on X86 && !X86_64
+       select BLK_DEV_IDEDMA_PCI
        help
          Include support for UDMA on the NSC/AMD CS5535 companion chipset.
          This will automatically be detected and configured if found.
@@ -561,6 +562,7 @@ config BLK_DEV_CS5535
 
 config BLK_DEV_HPT34X
        tristate "HPT34X chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds up to 4 more EIDE devices sharing a single
          interrupt. The HPT343 chipset in its current form is a non-bootable
@@ -581,7 +583,8 @@ config HPT34X_AUTODMA
 
 config BLK_DEV_HPT366
        tristate "HPT36X/37X chipset support"
-       ---help---
+       select BLK_DEV_IDEDMA_PCI
+       help
          HPT366 is an Ultra DMA chipset for ATA-66.
          HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
          HPT370 is an Ultra DMA chipset for ATA-100.
@@ -605,18 +608,21 @@ config BLK_DEV_HPT366
 
 config BLK_DEV_JMICRON
        tristate "JMicron JMB36x support"
+       select BLK_DEV_IDEDMA_PCI
        help
          Basic support for the JMicron ATA controllers. For full support
          use the libata drivers.
 
 config BLK_DEV_SC1200
        tristate "National SCx200 chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds support for the built in IDE on the National
          SCx200 series of embedded x86 "Geode" systems
 
 config BLK_DEV_PIIX
        tristate "Intel PIIXn chipsets support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for Intel PIIX and ICH chips
          and also for the Efar Victory66 (slc90e66) chip.  This allows
@@ -625,17 +631,20 @@ config BLK_DEV_PIIX
 
 config BLK_DEV_IT8213
        tristate "IT8213 IDE support"
+       select BLK_DEV_IDEDMA_PCI
        help
         This driver adds support for the ITE 8213 IDE controller.
 
 config BLK_DEV_IT821X
        tristate "IT821X IDE support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds support for the ITE 8211 IDE controller and the
          IT 8212 IDE RAID controller in both RAID and pass-through mode.
 
 config BLK_DEV_NS87415
        tristate "NS87415 chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds detection and support for the NS87415 chip
          (used mainly on SPARC64 and PA-RISC machines).
@@ -644,6 +653,7 @@ config BLK_DEV_NS87415
 
 config BLK_DEV_PDC202XX_OLD
        tristate "PROMISE PDC202{46|62|65|67} support"
+       select BLK_DEV_IDEDMA_PCI
        help
          Promise Ultra33 or PDC20246
          Promise Ultra66 or PDC20262
@@ -685,9 +695,11 @@ config PDC202XX_BURST
 
 config BLK_DEV_PDC202XX_NEW
        tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
+       select BLK_DEV_IDEDMA_PCI
 
 config BLK_DEV_SVWKS
        tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
          chipsets.
@@ -696,6 +708,7 @@ config BLK_DEV_SGIIOC4
        tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
        depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
        select IDEPCI_SHARE_IRQ
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
          chipset, which has one channel and can support two devices.
@@ -703,6 +716,7 @@ config BLK_DEV_SGIIOC4
 
 config BLK_DEV_SIIMAGE
        tristate "Silicon Image chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds PIO/(U)DMA support for the SI CMD680 and SII
          3112 (Serial ATA) chips.
@@ -710,7 +724,8 @@ config BLK_DEV_SIIMAGE
 config BLK_DEV_SIS5513
        tristate "SiS5513 chipset support"
        depends on X86
-       ---help---
+       select BLK_DEV_IDEDMA_PCI
+       help
          This driver ensures (U)DMA support for SIS5513 chipset family based
          mainboards.
 
@@ -729,6 +744,7 @@ config BLK_DEV_SIS5513
 config BLK_DEV_SL82C105
        tristate "Winbond SL82c105 support"
        depends on (PPC || ARM)
+       select BLK_DEV_IDEDMA_PCI
        help
          If you have a Winbond SL82c105 IDE controller, say Y here to enable
          special configuration for this chip. This is common on various CHRP
@@ -736,6 +752,7 @@ config BLK_DEV_SL82C105
 
 config BLK_DEV_SLC90E66
        tristate "SLC90E66 chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver ensures (U)DMA support for Victory66 SouthBridges for
          SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
@@ -751,6 +768,7 @@ config BLK_DEV_SLC90E66
 
 config BLK_DEV_TRM290
        tristate "Tekram TRM290 chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds support for bus master DMA transfers
          using the Tekram TRM290 PCI IDE chip. Volunteers are
@@ -759,6 +777,7 @@ config BLK_DEV_TRM290
 
 config BLK_DEV_VIA82CXXX
        tristate "VIA82CXXX chipset support"
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for VIA BusMastering IDE chips.
          This allows the kernel to change PIO, DMA and UDMA speeds and to
@@ -766,12 +785,14 @@ config BLK_DEV_VIA82CXXX
 
 config BLK_DEV_TC86C001
        tristate "Toshiba TC86C001 support"
+       select BLK_DEV_IDEDMA_PCI
        help
        This driver adds support for Toshiba TC86C001 GOKU-S chip.
 
 config BLK_DEV_CELLEB
        tristate "Toshiba's Cell Reference Set IDE support"
        depends on PPC_CELLEB
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver provides support for the built-in IDE controller on
          Toshiba Cell Reference Board.
@@ -781,7 +802,7 @@ endif
 
 config BLK_DEV_IDE_PMAC
        bool "Builtin PowerMac IDE support"
-       depends on PPC_PMAC && IDE=y
+       depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
        help
          This driver provides support for the built-in IDE controller on
          most of the recent Apple Power Macintoshes and PowerBooks.
@@ -985,24 +1006,9 @@ config IDE_EXT_DIRECT
 endchoice
 
 # no isa -> no vlb
-config IDE_CHIPSETS
-       bool "Other IDE chipset support"
-       depends on ISA
-       ---help---
-         Say Y here if you want to include enhanced support for various IDE
-         interface chipsets used on motherboards and add-on cards. You can
-         then pick your particular IDE chip from among the following options.
-         This enhanced support may be necessary for Linux to be able to
-         access the 3rd/4th drives in some systems. It may also enable
-         setting of higher speed I/O rates to improve system performance with
-         these chipsets. Most of these also require special kernel boot
-         parameters to actually turn on the support at runtime; you can find
-         a list of these in the file <file:Documentation/ide.txt>.
-
-         People with SCSI-only systems can say N here.
-
-if IDE_CHIPSETS
+if ISA
 
+comment "Other IDE chipsets support"
 comment "Note: most of these also require special kernel boot parameters"
 
 config BLK_DEV_4DRIVES
@@ -1064,21 +1070,8 @@ endif
 config BLK_DEV_IDEDMA
        def_bool BLK_DEV_IDEDMA_PCI || BLK_DEV_IDEDMA_PMAC || BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
 
-config IDEDMA_IVB
-       bool "IGNORE word93 Validation BITS"
-       depends on BLK_DEV_IDEDMA_PCI || BLK_DEV_IDEDMA_PMAC || BLK_DEV_IDEDMA_ICS
-       ---help---
-         There are unclear terms in ATA-4 and ATA-5 standards how certain
-         hardware (an 80c ribbon) should be detected. Different interpretations
-         of the standards have been released in hardware. This causes problems:
-         for example, a host with Ultra Mode 4 (or higher) will not run
-         in that mode with an 80c ribbon.
-
-         If you are experiencing compatibility or performance problems, you
-         MAY try to answer Y here. However, it does not necessarily solve
-         any of your problems, it could even cause more of them.
-
-         It is normally safe to answer Y; however, the default is N.
+config IDE_ARCH_OBSOLETE_INIT
+       def_bool ALPHA || (ARM && !ARCH_L7200) || BLACKFIN || X86 || IA64 || M32R || MIPS || PARISC || PPC || (SUPERH64 && BLK_DEV_IDEPCI) || SPARC
 
 endif