Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[safe/jmp/linux-2.6] / drivers / ide / Kconfig
index 080d7f5..052879a 100644 (file)
@@ -1,13 +1,15 @@
 #
 # 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
 
 menuconfig IDE
        tristate "ATA/ATAPI/MFM/RLL support"
+       depends on HAVE_IDE
        depends on BLOCK
-       depends on HAS_IOMEM
        ---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
@@ -46,22 +48,12 @@ menuconfig IDE
          To compile this driver as a module, choose M here: the
          module will be called ide.
 
-         For further information, please read <file:Documentation/ide.txt>.
+         For further information, please read <file:Documentation/ide/ide.txt>.
 
          If unsure, say Y.
 
 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.
-
 config BLK_DEV_IDE
        tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
        ---help---
@@ -73,7 +65,7 @@ config BLK_DEV_IDE
          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.txt>. For detailed
+         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>.
@@ -83,7 +75,7 @@ config BLK_DEV_IDE
          <ftp://ibiblio.org/pub/Linux/system/hardware/>.
 
          To compile this driver as a module, choose M here and read
-         <file:Documentation/ide.txt>. The module will be called ide-mod.
+         <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.
 
@@ -94,7 +86,13 @@ config BLK_DEV_IDE
 
 if BLK_DEV_IDE
 
-comment "Please see Documentation/ide.txt for help/info on IDE drives"
+comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
+
+config IDE_TIMINGS
+       bool
+
+config IDE_ATAPI
+       bool
 
 config BLK_DEV_IDE_SATA
        bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
@@ -118,24 +116,6 @@ config BLK_DEV_IDE_SATA
 
          If unsure, say N.
 
-config BLK_DEV_HD_IDE
-       bool "Use old disk-only driver on primary interface"
-       depends on (X86 || SH_MPC1211)
-       ---help---
-         There are two drivers for MFM/RLL/IDE disks.  Most people use just
-         the new enhanced driver by itself.  This option however installs the
-         old hard disk driver to control the primary IDE/disk interface in
-         the system, leaving the new enhanced IDE driver to take care of only
-         the 2nd/3rd/4th IDE interfaces.  Doing this will prevent you from
-         having an IDE/ATAPI CD-ROM or tape drive connected to the primary
-         IDE interface.  Choosing this option may be useful for older systems
-         which have MFM/RLL/ESDI controller+drives at the primary port
-         address (0x1f0), along with IDE drives at the secondary/3rd/4th port
-         addresses.
-
-         Normally, just say N here; you will then use the new driver for all
-         4 interfaces.
-
 config BLK_DEV_IDEDISK
        tristate "Include IDE/ATA-2 DISK support"
        ---help---
@@ -206,9 +186,18 @@ config BLK_DEV_IDECD
          To compile this driver as a module, choose M here: the
          module will be called ide-cd.
 
+config BLK_DEV_IDECD_VERBOSE_ERRORS
+       bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED
+       depends on BLK_DEV_IDECD
+       default y
+       help
+         Turn this on to have the driver print out the meanings of the
+         ATAPI error codes.  This will use up additional 8kB of kernel-space
+         memory, though.
+
 config BLK_DEV_IDETAPE
-       tristate "Include IDE/ATAPI TAPE support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       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,14 +212,15 @@ config BLK_DEV_IDETAPE
          along with other IDE devices, as "hdb" or "hdc", or something
          similar, and will be mapped to a character device such as "ht0"
          (check the boot messages with dmesg).  Be sure to consult the
-         <file:drivers/ide/ide-tape.c> and <file:Documentation/ide.txt> files
-         for usage information.
+         <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
+         files for usage information.
 
          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"
+       select IDE_ATAPI
        ---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
@@ -252,8 +242,9 @@ config BLK_DEV_IDEFLOPPY
          module will be called ide-floppy.
 
 config BLK_DEV_IDESCSI
-       tristate "SCSI emulation support"
+       tristate "SCSI emulation support (DEPRECATED)"
        depends on SCSI
+       select IDE_ATAPI
        ---help---
          WARNING: ide-scsi is no longer needed for cd writing applications!
          The 2.6 kernel supports direct writing to ide-cd, which eliminates
@@ -264,20 +255,6 @@ config BLK_DEV_IDESCSI
          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.
 
@@ -313,8 +290,22 @@ comment "IDE chipset support/bugfixes"
 
 config IDE_GENERIC
        tristate "generic/default IDE chipset support"
-       default H8300
-       help
+       depends on ALPHA || X86 || IA64 || M32R || MIPS
+       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
@@ -326,8 +317,9 @@ config BLK_DEV_PLATFORM
          If unsure, say N.
 
 config BLK_DEV_CMD640
-       bool "CMD640 chipset bugfix/support"
+       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
@@ -341,13 +333,13 @@ 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.)
 
          The CMD640 chip is also used on add-in cards by Acculogic, and on
          the "CSA-6400E PCI to IDE controller" that some people have. For
-         details, read <file:Documentation/ide.txt>.
+         details, read <file:Documentation/ide/ide.txt>.
 
 config BLK_DEV_CMD640_ENHANCED
        bool "CMD640 enhanced support"
@@ -355,19 +347,21 @@ config BLK_DEV_CMD640_ENHANCED
        help
          This option includes support for setting/autotuning PIO modes and
          prefetch on CMD640 IDE interfaces.  For details, read
-         <file:Documentation/ide.txt>. If you have a CMD640 IDE interface
+         <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
          and your BIOS does not already do this for you, then say Y here.
          Otherwise say N.
 
 config BLK_DEV_IDEPNP
-       bool "PNP EIDE support"
+       tristate "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.
 
+config BLK_DEV_IDEDMA_SFF
+       bool
+
 if PCI
 
 comment "PCI IDE chipsets support"
@@ -375,23 +369,24 @@ comment "PCI IDE chipsets support"
 config BLK_DEV_IDEPCI
        bool
 
-config IDEPCI_SHARE_IRQ
-       bool "Sharing PCI IDE interrupts support"
-       depends on 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
+       default y
        help
-         Some ATA/IDE chipsets have hardware support which allows for
-         sharing a single IRQ with other cards. To enable support for
-         this in the ATA/IDE driver, say Y here.
+         Probe IDE PCI devices in the order in which they appear on the
+         PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
+         instead of the order in which IDE PCI host drivers are loaded.
 
-         It is safe to say Y to this question, in most cases.
-         If unsure, say N.
+         Please note that this method of assuring stable naming of
+         IDE devices is unreliable and use other means for achieving
+         it (i.e. udev).
 
-config IDEPCI_PCIBUS_ORDER
-       def_bool BLK_DEV_IDE=y && BLK_DEV_IDEPCI
+         If in doubt, say N.
 
 # TODO: split it on per host driver config options (or module parameters)
 config BLK_DEV_OFFBOARD
-       bool "Boot off-board chipsets first support"
+       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)
        help
          Normally, IDE controllers built into the motherboard (on-board
@@ -402,15 +397,13 @@ config BLK_DEV_OFFBOARD
          This can improve the usability of some boot managers such as lilo
          when booting from a drive on an off-board controller.
 
-         If you say Y here, and you actually want to reverse the device scan
-         order as explained above, you also need to issue the kernel command
-         line option "ide=reverse". (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.)
-
          Note that, if you do this, the order of the hd* devices will be
          rearranged which may require modification of fstab and other files.
 
+         Please also note that this method of assuring stable naming of
+         IDE devices is unreliable and use other means for achieving it
+         (i.e. udev).
+
          If in doubt, say N.
 
 config BLK_DEV_GENERIC
@@ -444,6 +437,7 @@ config BLK_DEV_RZ1000
 config BLK_DEV_IDEDMA_PCI
        bool
        select BLK_DEV_IDEPCI
+       select BLK_DEV_IDEDMA_SFF
 
 config BLK_DEV_AEC62XX
        tristate "AEC62XX chipset support"
@@ -455,35 +449,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
@@ -504,6 +485,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
@@ -518,14 +500,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
@@ -558,6 +539,7 @@ config BLK_DEV_CS5535
 
 config BLK_DEV_HPT34X
        tristate "HPT34X chipset support"
+       depends on BROKEN
        select BLK_DEV_IDEDMA_PCI
        help
          This driver adds up to 4 more EIDE devices sharing a single
@@ -595,8 +577,7 @@ config BLK_DEV_HPT366
          reference to device 0x80. The other solution is to say Y to "Boot
          off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
          your mother board has the chipset natively mounted. Regardless one
-         should use the fore mentioned option and call at LILO or include
-         "ide=reverse" in LILO's append-line.
+         should use the fore mentioned option and call at LILO.
 
          This driver requires dynamic tuning of the chipset during the
          ide-probe at boot. It is reported to support DVD II drives, by the
@@ -613,17 +594,16 @@ 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
+         This driver adds support for the on-board IDE controller on the
+         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_IT8213
        tristate "IT8213 IDE support"
@@ -661,28 +641,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.
-
-         Please read the comments at the top of
-         <file:drivers/ide/pci/pdc202xx_old.c>.
-
-         If unsure, say N.
-
-config PDC202XX_BURST
-       bool "Special UDMA Feature"
-       depends on BLK_DEV_PDC202XX_OLD
-       help
-         This option causes the pdc202xx driver to enable UDMA modes on the
-         PDC202xx even when the PDC202xx BIOS has not done so.
-
-         It was originally designed for the PDC20246/Ultra33, whose BIOS will
-         only setup UDMA on the first two PDC20246 cards.  It has also been
-         used successfully on a PDC20265/Ultra100, allowing use of UDMA modes
-         when the PDC20265 BIOS has been disabled (for faster boot up).
+         for more than one card.
 
          Please read the comments at the top of
          <file:drivers/ide/pci/pdc202xx_old.c>.
@@ -703,7 +662,6 @@ config BLK_DEV_SVWKS
 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
@@ -732,14 +690,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
@@ -756,9 +712,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>.
 
@@ -773,6 +726,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.
@@ -790,22 +744,23 @@ config BLK_DEV_CELLEB
        depends on PPC_CELLEB
        select BLK_DEV_IDEDMA_PCI
        help
-         This driver provides support for the built-in IDE controller on
+         This driver provides support for the on-board IDE controller on
          Toshiba Cell Reference Board.
          If unsure, say Y.
 
 endif
 
 config BLK_DEV_IDE_PMAC
-       bool "Builtin PowerMac IDE support"
+       tristate "PowerMac on-board IDE support"
        depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
+       select IDE_TIMINGS
        help
-         This driver provides support for the built-in IDE controller on
+         This driver provides support for the on-board IDE controller on
          most of the recent Apple Power Macintoshes and PowerBooks.
          If unsure, say Y.
 
 config BLK_DEV_IDE_PMAC_ATA100FIRST
-       bool "Probe internal ATA/100 (Kauai) first"
+       bool "Probe on-board ATA/100 (Kauai) first"
        depends on BLK_DEV_IDE_PMAC
        help
          This option will cause the ATA/100 controller found in UniNorth2
@@ -820,15 +775,11 @@ config BLK_DEV_IDEDMA_PMAC
        depends on BLK_DEV_IDE_PMAC
        select BLK_DEV_IDEDMA_PCI
        help
-         This option allows the driver for the built-in IDE controller on
+         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
@@ -851,8 +802,9 @@ config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
        depends on BLK_DEV_IDE_AU1XXX
 
 config IDE_ARM
-       def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
-       select IDE_GENERIC
+       tristate "ARM IDE support"
+       depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
+       default y
 
 config BLK_DEV_IDE_ICSIDE
        tristate "ICS IDE interface support"
@@ -876,21 +828,20 @@ 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)
+config IDE_H8300
+       tristate "H8300 IDE support"
+       depends on H8300
+       default y
        help
-         Say Y here if you want to support the onboard IDE channels on the
-         Simtec BAST or the Thorcom VR1000
+         Enables the H8300 IDE driver.
 
 config BLK_DEV_GAYLE
-       bool "Amiga Gayle IDE interface support"
+       tristate "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,
-         This includes builtin IDE interfaces on some Amiga models (A600,
+         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
@@ -903,128 +854,94 @@ 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
-         by various manufacturers, e.g. Eyetech) that can be connected to the
-         builtin IDE interface of some Amiga models. Using such an IDE
-         doubler, you can connect up to four instead of two IDE devices on
-         the Amiga's builtin IDE interface.
+         This feature 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.
 
          Note that the normal Amiga Gayle IDE driver may not work correctly
-         if you have an IDE doubler and don't enable this driver!
+         if you have an IDE doubler and don't enable this feature!
 
-         Say Y if you have an IDE doubler.  The driver is enabled at kernel
-         runtime using the "ide=doubler" kernel boot parameter.
+         Say Y if you have an IDE doubler.  The feature is enabled at kernel
+         runtime using the "gayle.doubler" kernel boot parameter.
 
 config BLK_DEV_BUDDHA
-       bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
+       tristate "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 
-         on the Buddha, three on the Catweasel and two on the X-Surf.
+         This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
+         and X-Surf expansion boards.  It supports up to two interfaces on the
+         Buddha, three on the Catweasel and two on the X-Surf.
 
          Say Y if you have a Buddha or Catweasel expansion board and want to
          use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
          to one of its IDE interfaces.
 
 config BLK_DEV_FALCON_IDE
-       bool "Falcon IDE interface support"
+       tristate "Falcon IDE interface support"
        depends on ATARI
-       select IDE_GENERIC
        help
-         This is the IDE driver for the builtin IDE interface on the Atari
+         This is the IDE driver for the on-board IDE interface on the Atari
          Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
-         disks, CD-ROM drives, etc.) that are connected to the builtin IDE
+         disks, CD-ROM drives, etc.) that are connected to the on-board IDE
          interface.
 
 config BLK_DEV_MAC_IDE
-       bool "Macintosh Quadra/Powerbook IDE interface support"
+       tristate "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
+         This is the IDE driver for the on-board IDE interface on some m68k
          Macintosh models. It supports both the `Quadra style' (used in
          Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
          (used in the Powerbook 150 and 190 models) IDE interface.
 
          Say Y if you have such an Macintosh model and want to use IDE
          devices (hard disks, CD-ROM drives, etc.) that are connected to the
-         builtin IDE interface.
+         on-board IDE interface.
 
 config BLK_DEV_Q40IDE
-       bool "Q40/Q60 IDE interface support"
+       tristate "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
          drive subsystem through an expansion card.
 
-config BLK_DEV_MPC8xx_IDE
-       bool "MPC8xx IDE support"
-       depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
-       select IDE_GENERIC
+config BLK_DEV_PALMCHIP_BK3710
+       tristate "Palmchip bk3710 IDE controller support"
+       depends on ARCH_DAVINCI
+       select IDE_TIMINGS
+       select BLK_DEV_IDEDMA_SFF
        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
+         Say Y here if you want to support the onchip IDE controller on the
+         TI DaVinci SoC
 
 # no isa -> no vlb
-if ISA
+if ISA && (ALPHA || X86 || MIPS)
 
 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
          customary two drives per port. Support for this can be enabled at
-         runtime using the "ide0=four" kernel boot parameter if you say Y
-         here.
+         runtime using the "ide-4drives.probe" kernel boot parameter if you
+         say Y here.
 
 config BLK_DEV_ALI14XX
        tristate "ALI M14xx support"
+       select IDE_TIMINGS
        help
          This driver is enabled at runtime using the "ali14xx.probe" kernel
          boot parameter.  It enables support for the secondary IDE interface
          of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
-         I/O speeds to be set as well.  See the files
-         <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> for
-         more info.
+         I/O speeds to be set as well.
+         See the files <file:Documentation/ide/ide.txt> and
+         <file:drivers/ide/legacy/ali14xx.c> for more info.
 
 config BLK_DEV_DTC2278
        tristate "DTC-2278 support"
@@ -1032,25 +949,27 @@ config BLK_DEV_DTC2278
          This driver is enabled at runtime using the "dtc2278.probe" kernel
          boot parameter. It enables support for the secondary IDE interface
          of the DTC-2278 card, and permits faster I/O speeds to be set as
-         well. See the <file:Documentation/ide.txt> and
+         well. See the <file:Documentation/ide/ide.txt> and
          <file:drivers/ide/legacy/dtc2278.c> files for more info.
 
 config BLK_DEV_HT6560B
        tristate "Holtek HT6560B support"
+       select IDE_TIMINGS
        help
          This driver is enabled at runtime using the "ht6560b.probe" kernel
          boot parameter. It enables support for the secondary IDE interface
          of the Holtek card, and permits faster I/O speeds to be set as well.
-         See the <file:Documentation/ide.txt> and
+         See the <file:Documentation/ide/ide.txt> and
          <file:drivers/ide/legacy/ht6560b.c> files for more info.
 
 config BLK_DEV_QD65XX
        tristate "QDI QD65xx support"
+       select IDE_TIMINGS
        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
-         <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> for
-         more info.
+         <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
+         for more info.
 
 config BLK_DEV_UMC8672
        tristate "UMC-8672 support"
@@ -1058,39 +977,15 @@ config BLK_DEV_UMC8672
          This driver is enabled at runtime using the "umc8672.probe" kernel
          boot parameter. It enables support for the secondary IDE interface
          of the UMC-8672, and permits faster I/O speeds to be set as well.
-         See the files <file:Documentation/ide.txt> and
+         See the files <file:Documentation/ide/ide.txt> and
          <file:drivers/ide/legacy/umc8672.c> for more info.
 
 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 IDE_ARCH_OBSOLETE_INIT
-       def_bool ALPHA || (ARM && !ARCH_L7200) || BLACKFIN || X86 || IA64 || M32R || MIPS || PARISC || PPC || (SUPERH64 && BLK_DEV_IDEPCI) || SPARC
+       def_bool BLK_DEV_IDEDMA_SFF || BLK_DEV_IDEDMA_PMAC || \
+                BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
 
 endif
 
-config BLK_DEV_HD_ONLY
-       bool "Old hard disk (MFM/RLL/IDE) driver"
-       depends on BLK_DEV_IDE=n
-       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 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_IDE || BLK_DEV_HD_ONLY
-
 endif # IDE