tty/n_gsm: fix bug in CRC calculation for gsm1 mode
[linux-2.6.git] / drivers / ide / Kconfig
index 8753203..9827c5e 100644 (file)
 #
 # IDE ATA ATAPI Block device driver configuration
 #
-# Andre Hedrick <andre@linux-ide.org>
-#
 
 # Select HAVE_IDE if IDE is supported
 config HAVE_IDE
-       def_bool n
+       bool
 
 menuconfig IDE
-       tristate "ATA/ATAPI/MFM/RLL support"
+       tristate "ATA/ATAPI/MFM/RLL support (DEPRECATED)"
        depends on HAVE_IDE
        depends on BLOCK
        ---help---
-         If you say Y here, your kernel will be able to manage low cost mass
-         storage units such as ATA/(E)IDE and ATAPI units. The most common
-         cases are IDE hard drives and ATAPI CD-ROM drives.
-
-         If your system is pure SCSI and doesn't use these interfaces, you
-         can say N here.
-
-         Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
-         for mass storage units such as hard disks. It was designed by
-         Western Digital and Compaq Computer in 1984. It was then named
-         ST506. Quite a number of disks use the IDE interface.
-
-         AT Attachment (ATA) is the superset of the IDE specifications.
-         ST506 was also called ATA-1.
-
-         Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
-         ATA-3. It provides support for larger disks (up to 8.4GB by means of
-         the LBA standard), more disks (4 instead of 2) and for other mass
-         storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
-         ATA-4 and provides faster (and more CPU friendly) transfer modes
-         than previous PIO (Programmed processor Input/Output) from previous
-         ATA/IDE standards by means of fast DMA controllers.
-
-         ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
-         CD-ROM drives, similar in many respects to the SCSI protocol.
-
-         SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
-         designed in order to prevent data corruption and disk crash by
-         detecting pre hardware failure conditions (heat, access time, and
-         the like...). Disks built since June 1995 may follow this standard.
-         The kernel itself doesn't manage this; however there are quite a
-         number of user programs such as smart that can query the status of
-         SMART parameters from disk drives.
+         If you say Y here, your kernel will be able to manage ATA/(E)IDE and
+         ATAPI units. The most common cases are IDE hard drives and ATAPI
+         CD-ROM drives.
+
+         This subsystem is currently in maintenance mode with only bug fix
+         changes applied. Users of ATA hardware are encouraged to migrate to
+         the newer ATA subsystem ("Serial ATA (prod) and Parallel ATA
+         (experimental) drivers") which is more actively maintained.
 
          To compile this driver as a module, choose M here: the
-         module will be called ide.
+         module will be called ide-core.
 
          For further information, please read <file:Documentation/ide/ide.txt>.
 
-         If unsure, say Y.
+         If unsure, say N.
 
 if IDE
 
-config IDE_MAX_HWIFS
-       int "Max IDE interfaces"
-       depends on ALPHA || SUPERH || IA64 || EMBEDDED
-       range 1 10
-       default 4
-       help
-         This is the maximum number of IDE hardware interfaces that will
-         be supported by the driver. Make sure it is at least as high as
-         the number of IDE interfaces in your system.
+comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
 
-config BLK_DEV_IDE
-       tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
-       ---help---
-         If you say Y here, you will use the full-featured IDE driver to
-         control up to ten ATA/IDE interfaces, each being able to serve a
-         "master" and a "slave" device, for a total of up to twenty ATA/IDE
-         disk/cdrom/tape/floppy drives.
-
-         Useful information about large (>540 MB) IDE disks, multiple
-         interfaces, what to do if ATA/IDE devices are not automatically
-         detected, sound card ATA/IDE ports, module support, and other
-         topics, is contained in <file:Documentation/ide/ide.txt>. For detailed
-         information about hard drives, consult the Disk-HOWTO and the
-         Multi-Disk-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         To fine-tune ATA/IDE drive/interface parameters for improved
-         performance, look for the hdparm package at
-         <ftp://ibiblio.org/pub/Linux/system/hardware/>.
-
-         To compile this driver as a module, choose M here and read
-         <file:Documentation/ide/ide.txt>. The module will be called ide-mod.
-         Do not compile this driver as a module if your root file system (the
-         one containing the directory /) is located on an IDE device.
-
-         If you have one or more IDE drives, say Y or M here. If your system
-         has no IDE drives, or if memory requirements are really tight, you
-         could say N here, and select the "Old hard disk driver" below
-         instead to save about 13 KB of memory in the kernel.
-
-if BLK_DEV_IDE
+config IDE_XFER_MODE
+       bool
 
-comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
+config IDE_TIMINGS
+       bool
+       select IDE_XFER_MODE
+
+config IDE_ATAPI
+       bool
+
+config IDE_LEGACY
+       bool
 
 config BLK_DEV_IDE_SATA
        bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
@@ -122,43 +66,39 @@ config BLK_DEV_IDE_SATA
 
          If unsure, say N.
 
-config BLK_DEV_IDEDISK
-       tristate "Include IDE/ATA-2 DISK support"
-       ---help---
-         This will include enhanced support for MFM/RLL/IDE hard disks.  If
-         you have a MFM/RLL/IDE disk, and there is no special reason to use
-         the old hard disk driver instead, say Y.  If you have an SCSI-only
-         system, you can say N here.
+config IDE_GD
+       tristate "generic ATA/ATAPI disk support"
+       default y
+       help
+         Support for ATA/ATAPI disks (including ATAPI floppy drives).
 
-         To compile this driver as a module, choose M here: the
-         module will be called ide-disk.
-         Do not compile this driver as a module if your root file system
-         (the one containing the directory /) is located on the IDE disk.
+         To compile this driver as a module, choose M here.
+         The module will be called ide-gd_mod.
 
          If unsure, say Y.
 
-config IDEDISK_MULTI_MODE
-       bool "Use multiple sector mode for Programmed Input/Output by default"
+config IDE_GD_ATA
+       bool "ATA disk support"
+       depends on IDE_GD
+       default y
        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.
+         This will include support for ATA hard disks.
+
+         If unsure, say Y.
 
-         If you get the following error, try to say Y here:
+config IDE_GD_ATAPI
+       bool "ATAPI floppy support"
+       depends on IDE_GD
+       select IDE_ATAPI
+       help
+         This will include support for ATAPI floppy drives
+         (i.e. Iomega ZIP or MKE LS-120).
 
-         hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
-         hda: set_multmode: error=0x04 { DriveStatusError }
+         For information about jumper settings and the question
+         of when a ZIP drive uses a partition table, see
+         <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
 
-         If in doubt, say N.
+         If unsure, say N.
 
 config BLK_DEV_IDECS
        tristate "PCMCIA IDE support"
@@ -176,6 +116,7 @@ config BLK_DEV_DELKIN
 
 config BLK_DEV_IDECD
        tristate "Include IDE/ATAPI CDROM support"
+       select IDE_ATAPI
        ---help---
          If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
          a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
@@ -193,7 +134,7 @@ config BLK_DEV_IDECD
          module will be called ide-cd.
 
 config BLK_DEV_IDECD_VERBOSE_ERRORS
-       bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED
+       bool "Verbose error logging for IDE/ATAPI CDROM driver" if EXPERT
        depends on BLK_DEV_IDECD
        default y
        help
@@ -203,6 +144,7 @@ config BLK_DEV_IDECD_VERBOSE_ERRORS
 
 config BLK_DEV_IDETAPE
        tristate "Include IDE/ATAPI TAPE support"
+       select IDE_ATAPI
        help
          If you have an IDE tape drive using the ATAPI protocol, say Y.
          ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
@@ -223,58 +165,6 @@ config BLK_DEV_IDETAPE
          To compile this driver as a module, choose M here: the
          module will be called ide-tape.
 
-config BLK_DEV_IDEFLOPPY
-       tristate "Include IDE/ATAPI FLOPPY support"
-       ---help---
-         If you have an IDE floppy drive which uses the ATAPI protocol,
-         answer Y.  ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
-         drives, similar to the SCSI protocol.
-
-         The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
-         this driver. For information about jumper settings and the question
-         of when a ZIP drive uses a partition table, see
-         <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
-         (ATAPI PD-CD/CDR drives are not supported by this driver; support
-         for PD-CD/CDR drives is available if you answer Y to
-         "SCSI emulation support", below).
-
-         If you say Y here, the FLOPPY drive will be identified along with
-         other IDE devices, as "hdb" or "hdc", or something similar (check
-         the boot messages with dmesg).
-
-         To compile this driver as a module, choose M here: the
-         module will be called ide-floppy.
-
-config BLK_DEV_IDESCSI
-       tristate "SCSI emulation support"
-       depends on SCSI
-       ---help---
-         WARNING: ide-scsi is no longer needed for cd writing applications!
-         The 2.6 kernel supports direct writing to ide-cd, which eliminates
-         the need for ide-scsi + the entire scsi stack just for writing a
-         cd. The new method is more efficient in every way.
-
-         This will provide SCSI host adapter emulation for IDE ATAPI devices,
-         and will allow you to use a SCSI device driver instead of a native
-         ATAPI driver.
-
-         This is useful if you have an ATAPI device for which no native
-         driver has been written (for example, an ATAPI PD-CD drive);
-         you can then use this emulation together with an appropriate SCSI
-         device driver. In order to do this, say Y here and to "SCSI support"
-         and "SCSI generic support", below. You must then provide the kernel
-         command line "hdx=ide-scsi" (try "man bootparam" or see the
-         documentation of your boot loader (lilo or loadlin) about how to
-         pass options to the kernel at boot time) for devices if you want the
-         native EIDE sub-drivers to skip over the native support, so that
-         this SCSI emulation can be used instead.
-
-         Note that this option does NOT allow you to attach SCSI devices to a
-         box that doesn't have a SCSI host adapter installed.
-
-         If both this SCSI emulation and native ATAPI support are compiled
-         into the kernel, the native support will be used.
-
 config BLK_DEV_IDEACPI
        bool "IDE ACPI support"
        depends on ACPI
@@ -307,8 +197,23 @@ comment "IDE chipset support/bugfixes"
 
 config IDE_GENERIC
        tristate "generic/default IDE chipset support"
-       depends on ALPHA || X86 || IA64 || M32R || MIPS || PPC32
-       help
+       depends on ALPHA || X86 || IA64 || M32R || MIPS || ARCH_RPC || ARCH_SHARK
+       default ARM && (ARCH_RPC || ARCH_SHARK)
+       help
+         This is the generic IDE driver.  This driver attaches to the
+         fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and
+         so on).  Please note that if this driver is built into the
+         kernel or loaded before other ATA (IDE or libata) drivers
+         and the controller is located at legacy ports, this driver
+         may grab those ports and thus can prevent the controller
+         specific driver from attaching.
+
+         Also, currently, IDE generic doesn't allow IRQ sharing
+         meaning that the IRQs it grabs won't be available to other
+         controllers sharing those IRQs which usually makes drivers
+         for those controllers fail.  Generally, it's not a good idea
+         to load IDE generic driver on modern systems.
+
          If unsure, say N.
 
 config BLK_DEV_PLATFORM
@@ -322,6 +227,7 @@ config BLK_DEV_PLATFORM
 config BLK_DEV_CMD640
        tristate "CMD640 chipset bugfix/support"
        depends on X86
+       select IDE_TIMINGS
        ---help---
          The CMD-Technologies CMD640 IDE chip is used on many common 486 and
          Pentium motherboards, usually in combination with a "Neptune" or
@@ -335,7 +241,7 @@ config BLK_DEV_CMD640
          This driver will work automatically in PCI based systems (most new
          systems have PCI slots). But if your system uses VESA local bus
          (VLB) instead of PCI, you must also supply a kernel boot parameter
-         to enable the CMD640 bugfix/support: "ide0=cmd640_vlb". (Try "man
+         to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man
          bootparam" or see the documentation of your boot loader about how to
          pass options to the kernel.)
 
@@ -373,7 +279,7 @@ config BLK_DEV_IDEPCI
 
 config IDEPCI_PCIBUS_ORDER
        bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
-       depends on BLK_DEV_IDE=y && BLK_DEV_IDEPCI
+       depends on IDE=y && BLK_DEV_IDEPCI
        default y
        help
          Probe IDE PCI devices in the order in which they appear on the
@@ -389,7 +295,7 @@ config IDEPCI_PCIBUS_ORDER
 # TODO: split it on per host driver config options (or module parameters)
 config BLK_DEV_OFFBOARD
        bool "Boot off-board chipsets first support (DEPRECATED)"
-       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)
+       depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || 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
@@ -451,36 +357,22 @@ config BLK_DEV_AEC62XX
 
 config BLK_DEV_ALI15X3
        tristate "ALI M15x3 chipset support"
+       select IDE_TIMINGS
        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
          normal dual channel support.
 
-         If you say Y here, you also need to say Y to "Use DMA by default
-         when available", above.  Please read the comments at the top of
+         Please read the comments at the top of
          <file:drivers/ide/pci/alim15x3.c>.
 
          If unsure, say N.
 
-config WDC_ALI15X3
-       bool "ALI M15x3 WDC support (DANGEROUS)"
-       depends on BLK_DEV_ALI15X3
-       ---help---
-         This allows for UltraDMA support for WDC drives that ignore CRC
-         checking. You are a fool for enabling this option, but there have
-         been requests. DO NOT COMPLAIN IF YOUR DRIVE HAS FS CORRUPTION, IF
-         YOU ENABLE THIS! No one will listen, just laugh for ignoring this
-         SERIOUS WARNING.
-
-         Using this option can allow WDC drives to run at ATA-4/5 transfer
-         rates with only an ATA-2 support structure.
-
-         SAY N!
-
 config BLK_DEV_AMD74XX
        tristate "AMD and nVidia IDE support"
        depends on !ARM
+       select IDE_TIMINGS
        select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for AMD-7xx and AMD-8111 chips
@@ -501,6 +393,7 @@ config BLK_DEV_ATIIXP
 
 config BLK_DEV_CMD64X
        tristate "CMD64{3|6|8|9} chipset support"
+       select IDE_TIMINGS
        select BLK_DEV_IDEDMA_PCI
        help
          Say Y here if you have an IDE controller which uses any of these
@@ -515,14 +408,13 @@ config BLK_DEV_TRIFLEX
 
 config BLK_DEV_CY82C693
        tristate "CY82C693 chipset support"
+       depends on ALPHA
+       select IDE_TIMINGS
        select BLK_DEV_IDEDMA_PCI
        help
          This driver adds detection and support for the CY82C693 chipset
          used on Digital's PC-Alpha 164SX boards.
 
-         If you say Y here, you need to say Y to "Use DMA by default
-         when available" as well.
-
 config BLK_DEV_CS5520
        tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
        depends on EXPERIMENTAL
@@ -553,24 +445,13 @@ config BLK_DEV_CS5535
 
          It is safe to say Y to this question.
 
-config BLK_DEV_HPT34X
-       tristate "HPT34X chipset support"
+config BLK_DEV_CS5536
+       tristate "CS5536 chipset support"
+       depends on X86_32
        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
-         controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
-         PCI UDMA controllers. This driver requires dynamic tuning of the
-         chipset during the ide-probe at boot time. It is reported to support
-         DVD II drives, by the manufacturer.
-
-config HPT34X_AUTODMA
-       bool "HPT34X AUTODMA support (EXPERIMENTAL)"
-       depends on BLK_DEV_HPT34X && EXPERIMENTAL
-       help
-         This is a dangerous thing to attempt currently! Please read the
-         comments at the top of <file:drivers/ide/pci/hpt34x.c>.  If you say Y
-         here, then say Y to "Use DMA by default when available" as well.
+         This option enables support for the AMD CS5536
+         companion chip used with the Geode LX processor family.
 
          If unsure, say N.
 
@@ -613,13 +494,19 @@ config BLK_DEV_SC1200
          National SCx200 series of embedded x86 "Geode" systems.
 
 config BLK_DEV_PIIX
-       tristate "Intel PIIXn chipsets support"
+       tristate "Intel PIIX/ICH 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
-         the kernel to change PIO, DMA and UDMA speeds and to configure
-         the chip to optimum performance.
+         This driver adds explicit support for Intel PIIX and ICH chips.
+         This allows the kernel to change PIO, DMA and UDMA speeds and to
+         configure the chip to optimum performance.
+
+config BLK_DEV_IT8172
+       tristate "IT8172 IDE support"
+       select BLK_DEV_IDEDMA_PCI
+       help
+         This driver adds support for the IDE controller on the
+         IT8172 System Controller.
 
 config BLK_DEV_IT8213
        tristate "IT8213 IDE support"
@@ -657,11 +544,7 @@ config BLK_DEV_PDC202XX_OLD
          happen if the BIOS revisions of all installed cards (three-max) do
          not match, the driver attempts to do dynamic tuning of the chipset
          at boot-time for max-speed.  Ultra33 BIOS 1.25 or newer is required
-         for more than one card. This card may require that you say Y to
-         "Special UDMA Feature".
-
-         If you say Y here, you need to say Y to "Use DMA by default when
-         available" as well.
+         for more than one card.
 
          Please read the comments at the top of
          <file:drivers/ide/pci/pdc202xx_old.c>.
@@ -710,14 +593,12 @@ config BLK_DEV_SIS5513
          ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
          SiS745, SiS750
 
-         If you say Y here, you need to say Y to "Use DMA by default when
-         available" as well.
-
          Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
 
 config BLK_DEV_SL82C105
        tristate "Winbond SL82c105 support"
        depends on (PPC || ARM)
+       select IDE_TIMINGS
        select BLK_DEV_IDEDMA_PCI
        help
          If you have a Winbond SL82c105 IDE controller, say Y here to enable
@@ -734,9 +615,6 @@ config BLK_DEV_SLC90E66
          and it will handle timing cycles.  Since this is an improved
          look-a-like to the PIIX4 it should be a nice addition.
 
-         If you say Y here, you need to say Y to "Use DMA by default when
-         available" as well.
-
          Please read the comments at the top of
          <file:drivers/ide/pci/slc90e66.c>.
 
@@ -751,6 +629,7 @@ config BLK_DEV_TRM290
 
 config BLK_DEV_VIA82CXXX
        tristate "VIA82CXXX chipset support"
+       select IDE_TIMINGS
        select BLK_DEV_IDEDMA_PCI
        help
          This driver adds explicit support for VIA BusMastering IDE chips.
@@ -774,9 +653,12 @@ config BLK_DEV_CELLEB
 
 endif
 
+# TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF
 config BLK_DEV_IDE_PMAC
        tristate "PowerMac on-board IDE support"
-       depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
+       depends on PPC_PMAC
+       select IDE_TIMINGS
+       select BLK_DEV_IDEDMA_PCI
        help
          This driver provides support for the on-board IDE controller on
          most of the recent Apple Power Macintoshes and PowerBooks.
@@ -793,23 +675,10 @@ config BLK_DEV_IDE_PMAC_ATA100FIRST
          CD-ROM on hda. This option changes this to more natural hda for
          hard disk and hdc for CD-ROM.
 
-config BLK_DEV_IDEDMA_PMAC
-       bool "PowerMac IDE DMA support"
-       depends on BLK_DEV_IDE_PMAC
-       select BLK_DEV_IDEDMA_PCI
-       help
-         This option allows the driver for the on-board IDE controller on
-         Power Macintoshes and PowerBooks to use DMA (direct memory access)
-         to transfer data to and from memory.  Saying Y is safe and improves
-         performance.
-
-config BLK_DEV_IDE_SWARM
-       tristate "IDE for Sibyte evaluation boards"
-       depends on SIBYTE_SB1xxx_SOC
-
 config BLK_DEV_IDE_AU1XXX
        bool "IDE for AMD Alchemy Au1200"
        depends on SOC_AU1200
+       select IDE_XFER_MODE
 choice
        prompt "IDE Mode for AMD Alchemy Au1200"
        default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
@@ -823,15 +692,20 @@ config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
 endchoice
 
-config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
-       int "Maximum transfer size (KB) per request (up to 128)"
-       default "128"
-       depends on BLK_DEV_IDE_AU1XXX
+config BLK_DEV_IDE_TX4938
+       tristate "TX4938 internal IDE support"
+       depends on SOC_TX4938
+       select IDE_TIMINGS
 
-config IDE_ARM
-       tristate "ARM IDE support"
-       depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
-       default y
+config BLK_DEV_IDE_TX4939
+       tristate "TX4939 internal IDE support"
+       depends on SOC_TX4939
+       select BLK_DEV_IDEDMA_SFF
+
+config BLK_DEV_IDE_AT91
+       tristate "Atmel AT91 (SAM9, CAP9, AT572D940HF) IDE support"
+       depends on ARM && ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_AT91X40
+       select IDE_TIMINGS
 
 config BLK_DEV_IDE_ICSIDE
        tristate "ICS IDE interface support"
@@ -855,47 +729,6 @@ config BLK_DEV_IDE_RAPIDE
          Say Y here if you want to support the Yellowstone RapIDE controller
          manufactured for use with Acorn computers.
 
-config BLK_DEV_IDE_BAST
-       tristate "Simtec BAST / Thorcom VR1000 IDE support"
-       depends on ARM && (ARCH_BAST || MACH_VR1000)
-       help
-         Say Y here if you want to support the onboard IDE channels on the
-         Simtec BAST or the Thorcom VR1000
-
-config ETRAX_IDE
-       tristate "ETRAX IDE support"
-       depends on CRIS && BROKEN
-       select BLK_DEV_IDEDMA
-       help
-         Enables the ETRAX IDE driver.
-
-         You can't use parallel ports or SCSI ports at the same time.
-
-config ETRAX_IDE_DELAY
-       int "Delay for drives to regain consciousness"
-       depends on ETRAX_IDE && ETRAX_ARCH_V10
-       default 15
-       help
-         Number of seconds to wait for IDE drives to spin up after an IDE
-         reset.
-
-choice
-       prompt "IDE reset pin"
-       depends on ETRAX_IDE && ETRAX_ARCH_V10
-       default ETRAX_IDE_PB7_RESET
-
-config ETRAX_IDE_PB7_RESET
-       bool "Port_PB_Bit_7"
-       help
-         IDE reset on pin 7 on port B
-
-config ETRAX_IDE_G27_RESET
-       bool "Port_G_Bit_27"
-       help
-         IDE reset on pin 27 on port G
-
-endchoice
-
 config IDE_H8300
        tristate "H8300 IDE support"
        depends on H8300
@@ -912,27 +745,20 @@ config BLK_DEV_GAYLE
          This includes on-board IDE interfaces on some Amiga models (A600,
          A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
          bus (M-Tech E-Matrix 530 expansion card).
-         Say Y if you have an Amiga with a Gayle IDE interface and want to use
-         IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
-         it.
-         Note that you also have to enable Zorro bus support if you want to
-         use Gayle IDE interfaces on the Zorro expansion bus.
 
-config BLK_DEV_IDEDOUBLER
-       bool "Amiga IDE Doubler support (EXPERIMENTAL)"
-       depends on BLK_DEV_GAYLE && EXPERIMENTAL
-       ---help---
-         This driver provides support for the so-called `IDE doublers' (made
+         It also provides support for the so-called `IDE doublers' (made
          by various manufacturers, e.g. Eyetech) that can be connected to
          the on-board IDE interface of some Amiga models. Using such an IDE
          doubler, you can connect up to four instead of two IDE devices to
-         the Amiga's on-board IDE interface.
+         the Amiga's on-board IDE interface. The feature is enabled at kernel
+         runtime using the "gayle.doubler" kernel boot parameter.
 
-         Note that the normal Amiga Gayle IDE driver may not work correctly
-         if you have an IDE doubler and don't enable this driver!
+         Say Y if you have an Amiga with a Gayle IDE interface and want to use
+         IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
+         it.
 
-         Say Y if you have an IDE doubler.  The driver is enabled at kernel
-         runtime using the "ide=doubler" kernel boot parameter.
+         Note that you also have to enable Zorro bus support if you want to
+         use Gayle IDE interfaces on the Zorro expansion bus.
 
 config BLK_DEV_BUDDHA
        tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
@@ -979,51 +805,12 @@ config BLK_DEV_Q40IDE
 config BLK_DEV_PALMCHIP_BK3710
        tristate "Palmchip bk3710 IDE controller support"
        depends on ARCH_DAVINCI
+       select IDE_TIMINGS
        select BLK_DEV_IDEDMA_SFF
        help
          Say Y here if you want to support the onchip IDE controller on the
          TI DaVinci SoC
 
-
-config BLK_DEV_MPC8xx_IDE
-       tristate "MPC8xx IDE support"
-       depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
-       help
-         This option provides support for IDE on Motorola MPC8xx Systems.
-         Please see 'Type of MPC8xx IDE interface' for details.
-
-         If unsure, say N.
-
-choice
-       prompt "Type of MPC8xx IDE interface"
-       depends on BLK_DEV_MPC8xx_IDE
-       default IDE_8xx_PCCARD
-
-config IDE_8xx_PCCARD
-       bool "8xx_PCCARD"
-       ---help---
-         Select how the IDE devices are connected to the MPC8xx system:
-
-         8xx_PCCARD uses the 8xx internal PCMCIA interface in combination
-         with a PC Card (e.g. ARGOSY portable Hard Disk Adapter),
-         ATA PC Card HDDs or ATA PC Flash Cards (example: TQM8xxL
-         systems)
-
-         8xx_DIRECT is used for directly connected IDE devices using the 8xx
-         internal PCMCIA interface (example: IVMS8 systems)
-
-         EXT_DIRECT is used for IDE devices directly connected to the 8xx
-         bus using some glue logic, but _not_ the 8xx internal
-         PCMCIA interface (example: IDIF860 systems)
-
-config IDE_8xx_DIRECT
-       bool "8xx_DIRECT"
-
-config IDE_EXT_DIRECT
-       bool "EXT_DIRECT"
-
-endchoice
-
 # no isa -> no vlb
 if ISA && (ALPHA || X86 || MIPS)
 
@@ -1031,7 +818,7 @@ comment "Other IDE chipsets support"
 comment "Note: most of these also require special kernel boot parameters"
 
 config BLK_DEV_4DRIVES
-       bool "Generic 4 drives/port support"
+       tristate "Generic 4 drives/port support"
        help
          Certain older chipsets, including the Tekram 690CD, use a single set
          of I/O ports at 0x1f0 to control up to four drives, instead of the
@@ -1041,6 +828,8 @@ config BLK_DEV_4DRIVES
 
 config BLK_DEV_ALI14XX
        tristate "ALI M14xx support"
+       select IDE_TIMINGS
+       select IDE_LEGACY
        help
          This driver is enabled at runtime using the "ali14xx.probe" kernel
          boot parameter.  It enables support for the secondary IDE interface
@@ -1051,6 +840,8 @@ config BLK_DEV_ALI14XX
 
 config BLK_DEV_DTC2278
        tristate "DTC-2278 support"
+       select IDE_XFER_MODE
+       select IDE_LEGACY
        help
          This driver is enabled at runtime using the "dtc2278.probe" kernel
          boot parameter. It enables support for the secondary IDE interface
@@ -1060,6 +851,8 @@ config BLK_DEV_DTC2278
 
 config BLK_DEV_HT6560B
        tristate "Holtek HT6560B support"
+       select IDE_TIMINGS
+       select IDE_LEGACY
        help
          This driver is enabled at runtime using the "ht6560b.probe" kernel
          boot parameter. It enables support for the secondary IDE interface
@@ -1069,6 +862,8 @@ config BLK_DEV_HT6560B
 
 config BLK_DEV_QD65XX
        tristate "QDI QD65xx support"
+       select IDE_TIMINGS
+       select IDE_LEGACY
        help
          This driver is enabled at runtime using the "qd65xx.probe" kernel
          boot parameter.  It permits faster I/O speeds to be set.  See the
@@ -1077,6 +872,8 @@ config BLK_DEV_QD65XX
 
 config BLK_DEV_UMC8672
        tristate "UMC-8672 support"
+       select IDE_XFER_MODE
+       select IDE_LEGACY
        help
          This driver is enabled at runtime using the "umc8672.probe" kernel
          boot parameter. It enables support for the secondary IDE interface
@@ -1087,34 +884,8 @@ config BLK_DEV_UMC8672
 endif
 
 config BLK_DEV_IDEDMA
-       def_bool BLK_DEV_IDEDMA_SFF || BLK_DEV_IDEDMA_PMAC || \
+       def_bool BLK_DEV_IDEDMA_SFF || \
                 BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
-
-endif
-
-config BLK_DEV_HD_ONLY
-       bool "Old hard disk (MFM/RLL/IDE) driver"
-       help
-         There are two drivers for MFM/RLL/IDE hard disks. Most people use
-         the newer enhanced driver, but this old one is still around for two
-         reasons. Some older systems have strange timing problems and seem to
-         work only with the old driver (which itself does not work with some
-         newer systems). The other reason is that the old driver is smaller,
-         since it lacks the enhanced functionality of the new one. This makes
-         it a good choice for systems with very tight memory restrictions, or
-         for systems with only older MFM/RLL/ESDI drives. Choosing the old
-         driver can save 13 KB or so of kernel memory.
-
-         If you want to use this driver together with the new one you have
-         to use "hda=noprobe hdb=noprobe" kernel parameters to prevent the new
-         driver from probing the primary interface.
-
-         If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver
-         instead of this one. For more detailed information, read the
-         Disk-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-config BLK_DEV_HD
-       def_bool BLK_DEV_HD_ONLY
+       select IDE_XFER_MODE
 
 endif # IDE