]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/Kconfig
ide: Fix cs5535 driver accessing beyond array boundary
[linux-2.6-omap-h63xx.git] / drivers / ide / Kconfig
index e049f65bc3a2f41ac75de5b7598573119519498d..6d9fd92763f46bf853bacbf091c92be3d1294c92 100644 (file)
@@ -304,9 +304,17 @@ comment "IDE chipset support/bugfixes"
 
 config IDE_GENERIC
        tristate "generic/default IDE chipset support"
 
 config IDE_GENERIC
        tristate "generic/default IDE chipset support"
-       default y
+       default H8300
        help
        help
-         If unsure, say Y.
+         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"
 
 config BLK_DEV_CMD640
        bool "CMD640 chipset bugfix/support"
@@ -345,22 +353,22 @@ config BLK_DEV_CMD640_ENHANCED
 config BLK_DEV_IDEPNP
        bool "PNP EIDE support"
        depends on PNP
 config BLK_DEV_IDEPNP
        bool "PNP EIDE support"
        depends on PNP
+       select IDE_GENERIC
        help
          If you have a PnP (Plug and Play) compatible EIDE card and
          would like the kernel to automatically detect and activate
          it, say Y here.
 
        help
          If you have a PnP (Plug and Play) compatible EIDE card and
          would like the kernel to automatically detect and activate
          it, say Y here.
 
+if PCI
+
+comment "PCI IDE chipsets support"
+
 config BLK_DEV_IDEPCI
 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"
 
 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
        help
          Some ATA/IDE chipsets have hardware support which allows for
          sharing a single IRQ with other cards. To enable support for
@@ -370,11 +378,11 @@ config IDEPCI_SHARE_IRQ
          If unsure, say N.
 
 config IDEPCI_PCIBUS_ORDER
          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
 
 config BLK_DEV_OFFBOARD
        bool "Boot off-board chipsets first support"
 
 config BLK_DEV_OFFBOARD
        bool "Boot off-board chipsets first support"
-       depends on PCI && BLK_DEV_IDEPCI
+       depends on BLK_DEV_IDEPCI
        help
          Normally, IDE controllers built into the motherboard (on-board
          controllers) are assigned to ide0 and ide1 while those on add-in PCI
        help
          Normally, IDE controllers built into the motherboard (on-board
          controllers) are assigned to ide0 and ide1 while those on add-in PCI
@@ -397,21 +405,23 @@ config BLK_DEV_OFFBOARD
 
 config BLK_DEV_GENERIC
        tristate "Generic PCI IDE Chipset Support"
 
 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)"
         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"
        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.
        help
          The PC-Technologies RZ1000 IDE chip is used on many common 486 and
          Pentium motherboards, usually along with the "Neptune" chipset.
@@ -422,43 +432,12 @@ config BLK_DEV_RZ1000
          things will operate 100% reliably.
 
 config BLK_DEV_IDEDMA_PCI
          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"
 
 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
        help
          This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
          IDE controllers. This allows the kernel to change PIO, DMA and UDMA
@@ -466,6 +445,7 @@ config BLK_DEV_AEC62XX
 
 config BLK_DEV_ALI15X3
        tristate "ALI M15x3 chipset support"
 
 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
        help
          This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
          onboard chipsets.  It also tests for Simplex mode and enables
@@ -494,6 +474,7 @@ config WDC_ALI15X3
 
 config BLK_DEV_AMD74XX
        tristate "AMD and nVidia IDE support"
 
 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
        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
@@ -503,6 +484,7 @@ config BLK_DEV_AMD74XX
 config BLK_DEV_ATIIXP
        tristate "ATI IXP chipset IDE support"
        depends on X86
 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
        help
          This driver adds explicit support for ATI IXP chipset.
          This allows the kernel to change PIO, DMA and UDMA speeds
@@ -512,18 +494,21 @@ config BLK_DEV_ATIIXP
 
 config BLK_DEV_CMD64X
        tristate "CMD64{3|6|8|9} chipset support"
 
 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"
        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"
        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.
        help
          This driver adds detection and support for the CY82C693 chipset
          used on Digital's PC-Alpha 164SX boards.
@@ -534,6 +519,7 @@ config BLK_DEV_CY82C693
 config BLK_DEV_CS5520
        tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
        depends on EXPERIMENTAL
 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
        help
          Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
          5510/5520 chipset. This will automatically be detected and
@@ -543,6 +529,7 @@ config BLK_DEV_CS5520
 
 config BLK_DEV_CS5530
        tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
 
 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.
        help
          Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
          will automatically be detected and configured if found.
@@ -552,6 +539,7 @@ config BLK_DEV_CS5530
 config BLK_DEV_CS5535
        tristate "AMD CS5535 chipset support"
        depends on X86 && !X86_64
 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.
        help
          Include support for UDMA on the NSC/AMD CS5535 companion chipset.
          This will automatically be detected and configured if found.
@@ -560,6 +548,7 @@ config BLK_DEV_CS5535
 
 config BLK_DEV_HPT34X
        tristate "HPT34X chipset support"
 
 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
        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
@@ -580,7 +569,8 @@ config HPT34X_AUTODMA
 
 config BLK_DEV_HPT366
        tristate "HPT36X/37X chipset support"
 
 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.
          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.
@@ -604,18 +594,21 @@ config BLK_DEV_HPT366
 
 config BLK_DEV_JMICRON
        tristate "JMicron JMB36x support"
 
 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"
        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"
        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
        help
          This driver adds explicit support for Intel PIIX and ICH chips
          and also for the Efar Victory66 (slc90e66) chip.  This allows
@@ -624,17 +617,20 @@ config BLK_DEV_PIIX
 
 config BLK_DEV_IT8213
        tristate "IT8213 IDE support"
 
 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"
        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"
        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).
        help
          This driver adds detection and support for the NS87415 chip
          (used mainly on SPARC64 and PA-RISC machines).
@@ -643,6 +639,7 @@ config BLK_DEV_NS87415
 
 config BLK_DEV_PDC202XX_OLD
        tristate "PROMISE PDC202{46|62|65|67} support"
 
 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
        help
          Promise Ultra33 or PDC20246
          Promise Ultra66 or PDC20262
@@ -684,9 +681,11 @@ config PDC202XX_BURST
 
 config BLK_DEV_PDC202XX_NEW
        tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
 
 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"
 
 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.
        help
          This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
          chipsets.
@@ -695,6 +694,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
        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.
        help
          This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
          chipset, which has one channel and can support two devices.
@@ -702,6 +702,7 @@ config BLK_DEV_SGIIOC4
 
 config BLK_DEV_SIIMAGE
        tristate "Silicon Image chipset support"
 
 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.
        help
          This driver adds PIO/(U)DMA support for the SI CMD680 and SII
          3112 (Serial ATA) chips.
@@ -709,7 +710,8 @@ config BLK_DEV_SIIMAGE
 config BLK_DEV_SIS5513
        tristate "SiS5513 chipset support"
        depends on X86
 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.
 
          This driver ensures (U)DMA support for SIS5513 chipset family based
          mainboards.
 
@@ -728,6 +730,7 @@ config BLK_DEV_SIS5513
 config BLK_DEV_SL82C105
        tristate "Winbond SL82c105 support"
        depends on (PPC || ARM)
 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
        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
@@ -735,6 +738,7 @@ config BLK_DEV_SL82C105
 
 config BLK_DEV_SLC90E66
        tristate "SLC90E66 chipset support"
 
 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.
        help
          This driver ensures (U)DMA support for Victory66 SouthBridges for
          SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
@@ -750,6 +754,7 @@ config BLK_DEV_SLC90E66
 
 config BLK_DEV_TRM290
        tristate "Tekram TRM290 chipset support"
 
 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
        help
          This driver adds support for bus master DMA transfers
          using the Tekram TRM290 PCI IDE chip. Volunteers are
@@ -758,6 +763,7 @@ config BLK_DEV_TRM290
 
 config BLK_DEV_VIA82CXXX
        tristate "VIA82CXXX chipset support"
 
 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
        help
          This driver adds explicit support for VIA BusMastering IDE chips.
          This allows the kernel to change PIO, DMA and UDMA speeds and to
@@ -765,12 +771,14 @@ config BLK_DEV_VIA82CXXX
 
 config BLK_DEV_TC86C001
        tristate "Toshiba TC86C001 support"
 
 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
        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.
        help
          This driver provides support for the built-in IDE controller on
          Toshiba Cell Reference Board.
@@ -780,7 +788,7 @@ endif
 
 config BLK_DEV_IDE_PMAC
        bool "Builtin PowerMac IDE support"
 
 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.
        help
          This driver provides support for the built-in IDE controller on
          most of the recent Apple Power Macintoshes and PowerBooks.
@@ -834,6 +842,7 @@ config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
 
 config IDE_ARM
        def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
 
 config IDE_ARM
        def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
+       select IDE_GENERIC
 
 config BLK_DEV_IDE_ICSIDE
        tristate "ICS IDE interface support"
 
 config BLK_DEV_IDE_ICSIDE
        tristate "ICS IDE interface support"
@@ -867,6 +876,7 @@ config BLK_DEV_IDE_BAST
 config BLK_DEV_GAYLE
        bool "Amiga Gayle IDE interface support"
        depends on AMIGA
 config BLK_DEV_GAYLE
        bool "Amiga Gayle IDE interface support"
        depends on AMIGA
+       select IDE_GENERIC
        help
          This is the IDE driver for the Amiga Gayle IDE interface. It supports
          both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
        help
          This is the IDE driver for the Amiga Gayle IDE interface. It supports
          both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
@@ -898,6 +908,7 @@ config BLK_DEV_IDEDOUBLER
 config BLK_DEV_BUDDHA
        bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
        depends on ZORRO && EXPERIMENTAL
 config BLK_DEV_BUDDHA
        bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
        depends on ZORRO && EXPERIMENTAL
+       select IDE_GENERIC
        help
          This is the IDE driver for the IDE interfaces on the Buddha, 
          Catweasel and X-Surf expansion boards.  It supports up to two interfaces 
        help
          This is the IDE driver for the IDE interfaces on the Buddha, 
          Catweasel and X-Surf expansion boards.  It supports up to two interfaces 
@@ -910,6 +921,7 @@ config BLK_DEV_BUDDHA
 config BLK_DEV_FALCON_IDE
        bool "Falcon IDE interface support"
        depends on ATARI
 config BLK_DEV_FALCON_IDE
        bool "Falcon IDE interface support"
        depends on ATARI
+       select IDE_GENERIC
        help
          This is the IDE driver for the builtin IDE interface on the Atari
          Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
        help
          This is the IDE driver for the builtin IDE interface on the Atari
          Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
@@ -919,6 +931,7 @@ config BLK_DEV_FALCON_IDE
 config BLK_DEV_MAC_IDE
        bool "Macintosh Quadra/Powerbook IDE interface support"
        depends on MAC
 config BLK_DEV_MAC_IDE
        bool "Macintosh Quadra/Powerbook IDE interface support"
        depends on MAC
+       select IDE_GENERIC
        help
          This is the IDE driver for the builtin IDE interface on some m68k
          Macintosh models. It supports both the `Quadra style' (used in
        help
          This is the IDE driver for the builtin IDE interface on some m68k
          Macintosh models. It supports both the `Quadra style' (used in
@@ -932,6 +945,7 @@ config BLK_DEV_MAC_IDE
 config BLK_DEV_Q40IDE
        bool "Q40/Q60 IDE interface support"
        depends on Q40
 config BLK_DEV_Q40IDE
        bool "Q40/Q60 IDE interface support"
        depends on Q40
+       select IDE_GENERIC
        help
          Enable the on-board IDE controller in the Q40/Q60.  This should
          normally be on; disable it only if you are running a custom hard
        help
          Enable the on-board IDE controller in the Q40/Q60.  This should
          normally be on; disable it only if you are running a custom hard
@@ -939,7 +953,8 @@ config BLK_DEV_Q40IDE
 
 config BLK_DEV_MPC8xx_IDE
        bool "MPC8xx IDE support"
 
 config BLK_DEV_MPC8xx_IDE
        bool "MPC8xx IDE support"
-       depends on 8xx && IDE=y && BLK_DEV_IDE=y
+       depends on 8xx && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
+       select IDE_GENERIC
        help
          This option provides support for IDE on Motorola MPC8xx Systems.
          Please see 'Type of MPC8xx IDE interface' for details.
        help
          This option provides support for IDE on Motorola MPC8xx Systems.
          Please see 'Type of MPC8xx IDE interface' for details.
@@ -977,24 +992,9 @@ config IDE_EXT_DIRECT
 endchoice
 
 # no isa -> no vlb
 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
 comment "Note: most of these also require special kernel boot parameters"
 
 config BLK_DEV_4DRIVES
@@ -1056,22 +1056,6 @@ 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 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.
-
 endif
 
 config BLK_DEV_HD_ONLY
 endif
 
 config BLK_DEV_HD_ONLY