Kconfig: eliminate "def_bool n" constructs
[linux-2.6.git] / drivers / ide / Kconfig
1 #
2 # IDE ATA ATAPI Block device driver configuration
3 #
4
5 # Select HAVE_IDE if IDE is supported
6 config HAVE_IDE
7         bool
8
9 menuconfig IDE
10         tristate "ATA/ATAPI/MFM/RLL support"
11         depends on HAVE_IDE
12         depends on BLOCK
13         ---help---
14           If you say Y here, your kernel will be able to manage low cost mass
15           storage units such as ATA/(E)IDE and ATAPI units. The most common
16           cases are IDE hard drives and ATAPI CD-ROM drives.
17
18           If your system is pure SCSI and doesn't use these interfaces, you
19           can say N here.
20
21           Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
22           for mass storage units such as hard disks. It was designed by
23           Western Digital and Compaq Computer in 1984. It was then named
24           ST506. Quite a number of disks use the IDE interface.
25
26           AT Attachment (ATA) is the superset of the IDE specifications.
27           ST506 was also called ATA-1.
28
29           Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
30           ATA-3. It provides support for larger disks (up to 8.4GB by means of
31           the LBA standard), more disks (4 instead of 2) and for other mass
32           storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
33           ATA-4 and provides faster (and more CPU friendly) transfer modes
34           than previous PIO (Programmed processor Input/Output) from previous
35           ATA/IDE standards by means of fast DMA controllers.
36
37           ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
38           CD-ROM drives, similar in many respects to the SCSI protocol.
39
40           SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
41           designed in order to prevent data corruption and disk crash by
42           detecting pre hardware failure conditions (heat, access time, and
43           the like...). Disks built since June 1995 may follow this standard.
44           The kernel itself doesn't manage this; however there are quite a
45           number of user programs such as smart that can query the status of
46           SMART parameters from disk drives.
47
48           To compile this driver as a module, choose M here: the
49           module will be called ide.
50
51           For further information, please read <file:Documentation/ide/ide.txt>.
52
53           If unsure, say Y.
54
55 if IDE
56
57 comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
58
59 config IDE_TIMINGS
60         bool
61
62 config IDE_ATAPI
63         bool
64
65 config BLK_DEV_IDE_SATA
66         bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
67         default n
68         ---help---
69           There are two drivers for Serial ATA controllers.
70
71           The main driver, "libata", uses the SCSI subsystem
72           and supports most modern SATA controllers. In order to use it
73           you may take a look at "Serial ATA (prod) and Parallel ATA
74           (experimental) drivers".
75
76           The IDE driver (which you are currently configuring) supports
77           a few first-generation SATA controllers.
78
79           In order to eliminate conflicts between the two subsystems,
80           this config option enables the IDE driver's SATA support.
81           Normally this is disabled, as it is preferred that libata
82           supports SATA controllers, and this (IDE) driver supports
83           PATA controllers.
84
85           If unsure, say N.
86
87 config BLK_DEV_IDEDISK
88         tristate "Include IDE/ATA-2 DISK support"
89         ---help---
90           This will include enhanced support for MFM/RLL/IDE hard disks.  If
91           you have a MFM/RLL/IDE disk, and there is no special reason to use
92           the old hard disk driver instead, say Y.  If you have an SCSI-only
93           system, you can say N here.
94
95           To compile this driver as a module, choose M here: the
96           module will be called ide-disk.
97           Do not compile this driver as a module if your root file system
98           (the one containing the directory /) is located on the IDE disk.
99
100           If unsure, say Y.
101
102 config BLK_DEV_IDECS
103         tristate "PCMCIA IDE support"
104         depends on PCMCIA
105         help
106           Support for Compact Flash cards, outboard IDE disks, tape drives,
107           and CD-ROM drives connected through a PCMCIA card.
108
109 config BLK_DEV_DELKIN
110         tristate "Cardbus IDE support (Delkin/ASKA/Workbit)"
111         depends on CARDBUS && PCI
112         help
113           Support for Delkin, ASKA, and Workbit Cardbus CompactFlash
114           Adapters.  This may also work for similar SD and XD adapters.
115
116 config BLK_DEV_IDECD
117         tristate "Include IDE/ATAPI CDROM support"
118         ---help---
119           If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
120           a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
121           SCSI protocol. Most new CD-ROM drives use ATAPI, including the
122           NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
123           double(2X) or better speed drives.
124
125           If you say Y here, the CD-ROM drive will be identified at boot time
126           along with other IDE devices, as "hdb" or "hdc", or something
127           similar (check the boot messages with dmesg). If this is your only
128           CD-ROM drive, you can say N to all other CD-ROM options, but be sure
129           to say Y or M to "ISO 9660 CD-ROM file system support".
130
131           To compile this driver as a module, choose M here: the
132           module will be called ide-cd.
133
134 config BLK_DEV_IDECD_VERBOSE_ERRORS
135         bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED
136         depends on BLK_DEV_IDECD
137         default y
138         help
139           Turn this on to have the driver print out the meanings of the
140           ATAPI error codes.  This will use up additional 8kB of kernel-space
141           memory, though.
142
143 config BLK_DEV_IDETAPE
144         tristate "Include IDE/ATAPI TAPE support"
145         select IDE_ATAPI
146         help
147           If you have an IDE tape drive using the ATAPI protocol, say Y.
148           ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
149           similar to the SCSI protocol.  If you have an SCSI tape drive
150           however, you can say N here.
151
152           You should also say Y if you have an OnStream DI-30 tape drive; this
153           will not work with the SCSI protocol, until there is support for the
154           SC-30 and SC-50 versions.
155
156           If you say Y here, the tape drive will be identified at boot time
157           along with other IDE devices, as "hdb" or "hdc", or something
158           similar, and will be mapped to a character device such as "ht0"
159           (check the boot messages with dmesg).  Be sure to consult the
160           <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
161           files for usage information.
162
163           To compile this driver as a module, choose M here: the
164           module will be called ide-tape.
165
166 config BLK_DEV_IDEFLOPPY
167         tristate "Include IDE/ATAPI FLOPPY support"
168         select IDE_ATAPI
169         ---help---
170           If you have an IDE floppy drive which uses the ATAPI protocol,
171           answer Y.  ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
172           drives, similar to the SCSI protocol.
173
174           The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
175           this driver. For information about jumper settings and the question
176           of when a ZIP drive uses a partition table, see
177           <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
178           (ATAPI PD-CD/CDR drives are not supported by this driver; support
179           for PD-CD/CDR drives is available if you answer Y to
180           "SCSI emulation support", below).
181
182           If you say Y here, the FLOPPY drive will be identified along with
183           other IDE devices, as "hdb" or "hdc", or something similar (check
184           the boot messages with dmesg).
185
186           To compile this driver as a module, choose M here: the
187           module will be called ide-floppy.
188
189 config BLK_DEV_IDESCSI
190         tristate "SCSI emulation support (DEPRECATED)"
191         depends on SCSI
192         select IDE_ATAPI
193         ---help---
194           WARNING: ide-scsi is no longer needed for cd writing applications!
195           The 2.6 kernel supports direct writing to ide-cd, which eliminates
196           the need for ide-scsi + the entire scsi stack just for writing a
197           cd. The new method is more efficient in every way.
198
199           This will provide SCSI host adapter emulation for IDE ATAPI devices,
200           and will allow you to use a SCSI device driver instead of a native
201           ATAPI driver.
202
203           If both this SCSI emulation and native ATAPI support are compiled
204           into the kernel, the native support will be used.
205
206 config BLK_DEV_IDEACPI
207         bool "IDE ACPI support"
208         depends on ACPI
209         ---help---
210           Implement ACPI support for generic IDE devices. On modern
211           machines ACPI support is required to properly handle ACPI S3 states.
212
213 config IDE_TASK_IOCTL
214         bool "IDE Taskfile Access"
215         help
216           This is a direct raw access to the media.  It is a complex but
217           elegant solution to test and validate the domain of the hardware and
218           perform below the driver data recovery if needed.  This is the most
219           basic form of media-forensics.
220
221           If you are unsure, say N here.
222
223 config IDE_PROC_FS
224         bool "legacy /proc/ide/ support"
225         depends on IDE && PROC_FS
226         default y
227         help
228           This option enables support for the various files in
229           /proc/ide.  In Linux 2.6 this has been superseded by
230           files in sysfs but many legacy applications rely on this.
231
232           If unsure say Y.
233
234 comment "IDE chipset support/bugfixes"
235
236 config IDE_GENERIC
237         tristate "generic/default IDE chipset support"
238         depends on ALPHA || X86 || IA64 || M32R || MIPS
239         help
240           This is the generic IDE driver.  This driver attaches to the
241           fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and
242           so on).  Please note that if this driver is built into the
243           kernel or loaded before other ATA (IDE or libata) drivers
244           and the controller is located at legacy ports, this driver
245           may grab those ports and thus can prevent the controller
246           specific driver from attaching.
247
248           Also, currently, IDE generic doesn't allow IRQ sharing
249           meaning that the IRQs it grabs won't be available to other
250           controllers sharing those IRQs which usually makes drivers
251           for those controllers fail.  Generally, it's not a good idea
252           to load IDE generic driver on modern systems.
253
254           If unsure, say N.
255
256 config BLK_DEV_PLATFORM
257         tristate "Platform driver for IDE interfaces"
258         help
259           This is the platform IDE driver, used mostly for Memory Mapped
260           IDE devices, like Compact Flashes running in True IDE mode.
261
262           If unsure, say N.
263
264 config BLK_DEV_CMD640
265         tristate "CMD640 chipset bugfix/support"
266         depends on X86
267         select IDE_TIMINGS
268         ---help---
269           The CMD-Technologies CMD640 IDE chip is used on many common 486 and
270           Pentium motherboards, usually in combination with a "Neptune" or
271           "SiS" chipset. Unfortunately, it has a number of rather nasty
272           design flaws that can cause severe data corruption under many common
273           conditions. Say Y here to include code which tries to automatically
274           detect and correct the problems under Linux. This option also
275           enables access to the secondary IDE ports in some CMD640 based
276           systems.
277
278           This driver will work automatically in PCI based systems (most new
279           systems have PCI slots). But if your system uses VESA local bus
280           (VLB) instead of PCI, you must also supply a kernel boot parameter
281           to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man
282           bootparam" or see the documentation of your boot loader about how to
283           pass options to the kernel.)
284
285           The CMD640 chip is also used on add-in cards by Acculogic, and on
286           the "CSA-6400E PCI to IDE controller" that some people have. For
287           details, read <file:Documentation/ide/ide.txt>.
288
289 config BLK_DEV_CMD640_ENHANCED
290         bool "CMD640 enhanced support"
291         depends on BLK_DEV_CMD640
292         help
293           This option includes support for setting/autotuning PIO modes and
294           prefetch on CMD640 IDE interfaces.  For details, read
295           <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
296           and your BIOS does not already do this for you, then say Y here.
297           Otherwise say N.
298
299 config BLK_DEV_IDEPNP
300         tristate "PNP EIDE support"
301         depends on PNP
302         help
303           If you have a PnP (Plug and Play) compatible EIDE card and
304           would like the kernel to automatically detect and activate
305           it, say Y here.
306
307 config BLK_DEV_IDEDMA_SFF
308         bool
309
310 if PCI
311
312 comment "PCI IDE chipsets support"
313
314 config BLK_DEV_IDEPCI
315         bool
316
317 config IDEPCI_PCIBUS_ORDER
318         bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
319         depends on IDE=y && BLK_DEV_IDEPCI
320         default y
321         help
322           Probe IDE PCI devices in the order in which they appear on the
323           PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
324           instead of the order in which IDE PCI host drivers are loaded.
325
326           Please note that this method of assuring stable naming of
327           IDE devices is unreliable and use other means for achieving
328           it (i.e. udev).
329
330           If in doubt, say N.
331
332 # TODO: split it on per host driver config options (or module parameters)
333 config BLK_DEV_OFFBOARD
334         bool "Boot off-board chipsets first support (DEPRECATED)"
335         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)
336         help
337           Normally, IDE controllers built into the motherboard (on-board
338           controllers) are assigned to ide0 and ide1 while those on add-in PCI
339           cards (off-board controllers) are relegated to ide2 and ide3.
340           Answering Y here will allow you to reverse the situation, with
341           off-board controllers on ide0/1 and on-board controllers on ide2/3.
342           This can improve the usability of some boot managers such as lilo
343           when booting from a drive on an off-board controller.
344
345           Note that, if you do this, the order of the hd* devices will be
346           rearranged which may require modification of fstab and other files.
347
348           Please also note that this method of assuring stable naming of
349           IDE devices is unreliable and use other means for achieving it
350           (i.e. udev).
351
352           If in doubt, say N.
353
354 config BLK_DEV_GENERIC
355         tristate "Generic PCI IDE Chipset Support"
356         select BLK_DEV_IDEPCI
357         help
358           This option provides generic support for various PCI IDE Chipsets
359           which otherwise might not be supported.
360
361 config BLK_DEV_OPTI621
362         tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
363         depends on EXPERIMENTAL
364         select BLK_DEV_IDEPCI
365         help
366           This is a driver for the OPTi 82C621 EIDE controller.
367           Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
368
369 config BLK_DEV_RZ1000
370         tristate "RZ1000 chipset bugfix/support"
371         depends on X86
372         select BLK_DEV_IDEPCI
373         help
374           The PC-Technologies RZ1000 IDE chip is used on many common 486 and
375           Pentium motherboards, usually along with the "Neptune" chipset.
376           Unfortunately, it has a rather nasty design flaw that can cause
377           severe data corruption under many conditions. Say Y here to include
378           code which automatically detects and corrects the problem under
379           Linux. This may slow disk throughput by a few percent, but at least
380           things will operate 100% reliably.
381
382 config BLK_DEV_IDEDMA_PCI
383         bool
384         select BLK_DEV_IDEPCI
385         select BLK_DEV_IDEDMA_SFF
386
387 config BLK_DEV_AEC62XX
388         tristate "AEC62XX chipset support"
389         select BLK_DEV_IDEDMA_PCI
390         help
391           This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
392           IDE controllers. This allows the kernel to change PIO, DMA and UDMA
393           speeds and to configure the chip to optimum performance.
394
395 config BLK_DEV_ALI15X3
396         tristate "ALI M15x3 chipset support"
397         select IDE_TIMINGS
398         select BLK_DEV_IDEDMA_PCI
399         help
400           This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
401           onboard chipsets.  It also tests for Simplex mode and enables
402           normal dual channel support.
403
404           Please read the comments at the top of
405           <file:drivers/ide/pci/alim15x3.c>.
406
407           If unsure, say N.
408
409 config BLK_DEV_AMD74XX
410         tristate "AMD and nVidia IDE support"
411         depends on !ARM
412         select IDE_TIMINGS
413         select BLK_DEV_IDEDMA_PCI
414         help
415           This driver adds explicit support for AMD-7xx and AMD-8111 chips
416           and also for the nVidia nForce chip.  This allows the kernel to
417           change PIO, DMA and UDMA speeds and to configure the chip to
418           optimum performance.
419
420 config BLK_DEV_ATIIXP
421         tristate "ATI IXP chipset IDE support"
422         depends on X86
423         select BLK_DEV_IDEDMA_PCI
424         help
425           This driver adds explicit support for ATI IXP chipset.
426           This allows the kernel to change PIO, DMA and UDMA speeds
427           and to configure the chip to optimum performance.
428
429           Say Y here if you have an ATI IXP chipset IDE controller.
430
431 config BLK_DEV_CMD64X
432         tristate "CMD64{3|6|8|9} chipset support"
433         select IDE_TIMINGS
434         select BLK_DEV_IDEDMA_PCI
435         help
436           Say Y here if you have an IDE controller which uses any of these
437           chipsets: CMD643, CMD646, or CMD648.
438
439 config BLK_DEV_TRIFLEX
440         tristate "Compaq Triflex IDE support"
441         select BLK_DEV_IDEDMA_PCI
442         help
443           Say Y here if you have a Compaq Triflex IDE controller, such
444           as those commonly found on Compaq Pentium-Pro systems
445
446 config BLK_DEV_CY82C693
447         tristate "CY82C693 chipset support"
448         depends on ALPHA
449         select IDE_TIMINGS
450         select BLK_DEV_IDEDMA_PCI
451         help
452           This driver adds detection and support for the CY82C693 chipset
453           used on Digital's PC-Alpha 164SX boards.
454
455 config BLK_DEV_CS5520
456         tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
457         depends on EXPERIMENTAL
458         select BLK_DEV_IDEDMA_PCI
459         help
460           Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
461           5510/5520 chipset. This will automatically be detected and
462           configured if found.
463
464           It is safe to say Y to this question.
465
466 config BLK_DEV_CS5530
467         tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
468         select BLK_DEV_IDEDMA_PCI
469         help
470           Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
471           will automatically be detected and configured if found.
472
473           It is safe to say Y to this question.
474
475 config BLK_DEV_CS5535
476         tristate "AMD CS5535 chipset support"
477         depends on X86 && !X86_64
478         select BLK_DEV_IDEDMA_PCI
479         help
480           Include support for UDMA on the NSC/AMD CS5535 companion chipset.
481           This will automatically be detected and configured if found.
482
483           It is safe to say Y to this question.
484
485 config BLK_DEV_HPT34X
486         tristate "HPT34X chipset support"
487         depends on BROKEN
488         select BLK_DEV_IDEDMA_PCI
489         help
490           This driver adds up to 4 more EIDE devices sharing a single
491           interrupt. The HPT343 chipset in its current form is a non-bootable
492           controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
493           PCI UDMA controllers. This driver requires dynamic tuning of the
494           chipset during the ide-probe at boot time. It is reported to support
495           DVD II drives, by the manufacturer.
496
497 config HPT34X_AUTODMA
498         bool "HPT34X AUTODMA support (EXPERIMENTAL)"
499         depends on BLK_DEV_HPT34X && EXPERIMENTAL
500         help
501           This is a dangerous thing to attempt currently! Please read the
502           comments at the top of <file:drivers/ide/pci/hpt34x.c>.  If you say Y
503           here, then say Y to "Use DMA by default when available" as well.
504
505           If unsure, say N.
506
507 config BLK_DEV_HPT366
508         tristate "HPT36X/37X chipset support"
509         select BLK_DEV_IDEDMA_PCI
510         help
511           HPT366 is an Ultra DMA chipset for ATA-66.
512           HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
513           HPT370 is an Ultra DMA chipset for ATA-100.
514           HPT372 is an Ultra DMA chipset for ATA-100.
515           HPT374 is an Ultra DMA chipset for ATA-100.
516
517           This driver adds up to 4 more EIDE devices sharing a single
518           interrupt.
519
520           The HPT366 chipset in its current form is bootable. One solution
521           for this problem are special LILO commands for redirecting the
522           reference to device 0x80. The other solution is to say Y to "Boot
523           off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
524           your mother board has the chipset natively mounted. Regardless one
525           should use the fore mentioned option and call at LILO.
526
527           This driver requires dynamic tuning of the chipset during the
528           ide-probe at boot. It is reported to support DVD II drives, by the
529           manufacturer.
530
531 config BLK_DEV_JMICRON
532         tristate "JMicron JMB36x support"
533         select BLK_DEV_IDEDMA_PCI
534         help
535           Basic support for the JMicron ATA controllers. For full support
536           use the libata drivers.
537
538 config BLK_DEV_SC1200
539         tristate "National SCx200 chipset support"
540         select BLK_DEV_IDEDMA_PCI
541         help
542           This driver adds support for the on-board IDE controller on the
543           National SCx200 series of embedded x86 "Geode" systems.
544
545 config BLK_DEV_PIIX
546         tristate "Intel PIIX/ICH chipsets support"
547         select BLK_DEV_IDEDMA_PCI
548         help
549           This driver adds explicit support for Intel PIIX and ICH chips.
550           This allows the kernel to change PIO, DMA and UDMA speeds and to
551           configure the chip to optimum performance.
552
553 config BLK_DEV_IT8213
554         tristate "IT8213 IDE support"
555         select BLK_DEV_IDEDMA_PCI
556         help
557          This driver adds support for the ITE 8213 IDE controller.
558
559 config BLK_DEV_IT821X
560         tristate "IT821X IDE support"
561         select BLK_DEV_IDEDMA_PCI
562         help
563           This driver adds support for the ITE 8211 IDE controller and the
564           IT 8212 IDE RAID controller in both RAID and pass-through mode.
565
566 config BLK_DEV_NS87415
567         tristate "NS87415 chipset support"
568         select BLK_DEV_IDEDMA_PCI
569         help
570           This driver adds detection and support for the NS87415 chip
571           (used mainly on SPARC64 and PA-RISC machines).
572
573           Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
574
575 config BLK_DEV_PDC202XX_OLD
576         tristate "PROMISE PDC202{46|62|65|67} support"
577         select BLK_DEV_IDEDMA_PCI
578         help
579           Promise Ultra33 or PDC20246
580           Promise Ultra66 or PDC20262
581           Promise Ultra100 or PDC20265/PDC20267/PDC20268
582
583           This driver adds up to 4 more EIDE devices sharing a single
584           interrupt. This add-on card is a bootable PCI UDMA controller. Since
585           multiple cards can be installed and there are BIOS ROM problems that
586           happen if the BIOS revisions of all installed cards (three-max) do
587           not match, the driver attempts to do dynamic tuning of the chipset
588           at boot-time for max-speed.  Ultra33 BIOS 1.25 or newer is required
589           for more than one card.
590
591           Please read the comments at the top of
592           <file:drivers/ide/pci/pdc202xx_old.c>.
593
594           If unsure, say N.
595
596 config BLK_DEV_PDC202XX_NEW
597         tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
598         select BLK_DEV_IDEDMA_PCI
599
600 config BLK_DEV_SVWKS
601         tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
602         select BLK_DEV_IDEDMA_PCI
603         help
604           This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
605           chipsets.
606
607 config BLK_DEV_SGIIOC4
608         tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
609         depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
610         select BLK_DEV_IDEDMA_PCI
611         help
612           This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
613           chipset, which has one channel and can support two devices.
614           Please say Y here if you have an Altix System from SGI.
615
616 config BLK_DEV_SIIMAGE
617         tristate "Silicon Image chipset support"
618         select BLK_DEV_IDEDMA_PCI
619         help
620           This driver adds PIO/(U)DMA support for the SI CMD680 and SII
621           3112 (Serial ATA) chips.
622
623 config BLK_DEV_SIS5513
624         tristate "SiS5513 chipset support"
625         depends on X86
626         select BLK_DEV_IDEDMA_PCI
627         help
628           This driver ensures (U)DMA support for SIS5513 chipset family based
629           mainboards.
630
631           The following chipsets are supported:
632           ATA16:  SiS5511, SiS5513
633           ATA33:  SiS5591, SiS5597, SiS5598, SiS5600
634           ATA66:  SiS530, SiS540, SiS620, SiS630, SiS640
635           ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
636           SiS745, SiS750
637
638           Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
639
640 config BLK_DEV_SL82C105
641         tristate "Winbond SL82c105 support"
642         depends on (PPC || ARM)
643         select IDE_TIMINGS
644         select BLK_DEV_IDEDMA_PCI
645         help
646           If you have a Winbond SL82c105 IDE controller, say Y here to enable
647           special configuration for this chip. This is common on various CHRP
648           motherboards, but could be used elsewhere. If in doubt, say Y.
649
650 config BLK_DEV_SLC90E66
651         tristate "SLC90E66 chipset support"
652         select BLK_DEV_IDEDMA_PCI
653         help
654           This driver ensures (U)DMA support for Victory66 SouthBridges for
655           SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
656           The nice thing about it is that you can mix Ultra/DMA/PIO devices
657           and it will handle timing cycles.  Since this is an improved
658           look-a-like to the PIIX4 it should be a nice addition.
659
660           Please read the comments at the top of
661           <file:drivers/ide/pci/slc90e66.c>.
662
663 config BLK_DEV_TRM290
664         tristate "Tekram TRM290 chipset support"
665         select BLK_DEV_IDEDMA_PCI
666         help
667           This driver adds support for bus master DMA transfers
668           using the Tekram TRM290 PCI IDE chip. Volunteers are
669           needed for further tweaking and development.
670           Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
671
672 config BLK_DEV_VIA82CXXX
673         tristate "VIA82CXXX chipset support"
674         select IDE_TIMINGS
675         select BLK_DEV_IDEDMA_PCI
676         help
677           This driver adds explicit support for VIA BusMastering IDE chips.
678           This allows the kernel to change PIO, DMA and UDMA speeds and to
679           configure the chip to optimum performance.
680
681 config BLK_DEV_TC86C001
682         tristate "Toshiba TC86C001 support"
683         select BLK_DEV_IDEDMA_PCI
684         help
685         This driver adds support for Toshiba TC86C001 GOKU-S chip.
686
687 config BLK_DEV_CELLEB
688         tristate "Toshiba's Cell Reference Set IDE support"
689         depends on PPC_CELLEB
690         select BLK_DEV_IDEDMA_PCI
691         help
692           This driver provides support for the on-board IDE controller on
693           Toshiba Cell Reference Board.
694           If unsure, say Y.
695
696 endif
697
698 config BLK_DEV_IDE_PMAC
699         tristate "PowerMac on-board IDE support"
700         depends on PPC_PMAC && IDE=y
701         select IDE_TIMINGS
702         help
703           This driver provides support for the on-board IDE controller on
704           most of the recent Apple Power Macintoshes and PowerBooks.
705           If unsure, say Y.
706
707 config BLK_DEV_IDE_PMAC_ATA100FIRST
708         bool "Probe on-board ATA/100 (Kauai) first"
709         depends on BLK_DEV_IDE_PMAC
710         help
711           This option will cause the ATA/100 controller found in UniNorth2
712           based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
713           to be probed before the ATA/66 and ATA/33 controllers. Without
714           these, those machine used to have the hard disk on hdc and the
715           CD-ROM on hda. This option changes this to more natural hda for
716           hard disk and hdc for CD-ROM.
717
718 config BLK_DEV_IDEDMA_PMAC
719         bool "PowerMac IDE DMA support"
720         depends on BLK_DEV_IDE_PMAC
721         select BLK_DEV_IDEDMA_PCI
722         help
723           This option allows the driver for the on-board IDE controller on
724           Power Macintoshes and PowerBooks to use DMA (direct memory access)
725           to transfer data to and from memory.  Saying Y is safe and improves
726           performance.
727
728 config BLK_DEV_IDE_AU1XXX
729        bool "IDE for AMD Alchemy Au1200"
730        depends on SOC_AU1200
731 choice
732        prompt "IDE Mode for AMD Alchemy Au1200"
733        default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
734        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
735
736 config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
737        bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
738
739 config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
740        bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
741        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
742 endchoice
743
744 config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
745        int "Maximum transfer size (KB) per request (up to 128)"
746        default "128"
747        depends on BLK_DEV_IDE_AU1XXX
748
749 config IDE_ARM
750         tristate "ARM IDE support"
751         depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
752         default y
753
754 config BLK_DEV_IDE_ICSIDE
755         tristate "ICS IDE interface support"
756         depends on ARM && ARCH_ACORN
757         help
758           On Acorn systems, say Y here if you wish to use the ICS IDE
759           interface card.  This is not required for ICS partition support.
760           If you are unsure, say N to this.
761
762 config BLK_DEV_IDEDMA_ICS
763         bool "ICS DMA support"
764         depends on BLK_DEV_IDE_ICSIDE
765         help
766           Say Y here if you want to add DMA (Direct Memory Access) support to
767           the ICS IDE driver.
768
769 config BLK_DEV_IDE_RAPIDE
770         tristate "RapIDE interface support"
771         depends on ARM && ARCH_ACORN
772         help
773           Say Y here if you want to support the Yellowstone RapIDE controller
774           manufactured for use with Acorn computers.
775
776 config IDE_H8300
777         tristate "H8300 IDE support"
778         depends on H8300
779         default y
780         help
781           Enables the H8300 IDE driver.
782
783 config BLK_DEV_GAYLE
784         tristate "Amiga Gayle IDE interface support"
785         depends on AMIGA
786         help
787           This is the IDE driver for the Amiga Gayle IDE interface. It supports
788           both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
789           This includes on-board IDE interfaces on some Amiga models (A600,
790           A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
791           bus (M-Tech E-Matrix 530 expansion card).
792           Say Y if you have an Amiga with a Gayle IDE interface and want to use
793           IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
794           it.
795           Note that you also have to enable Zorro bus support if you want to
796           use Gayle IDE interfaces on the Zorro expansion bus.
797
798 config BLK_DEV_IDEDOUBLER
799         bool "Amiga IDE Doubler support (EXPERIMENTAL)"
800         depends on BLK_DEV_GAYLE && EXPERIMENTAL
801         ---help---
802           This feature provides support for the so-called `IDE doublers' (made
803           by various manufacturers, e.g. Eyetech) that can be connected to
804           the on-board IDE interface of some Amiga models. Using such an IDE
805           doubler, you can connect up to four instead of two IDE devices to
806           the Amiga's on-board IDE interface.
807
808           Note that the normal Amiga Gayle IDE driver may not work correctly
809           if you have an IDE doubler and don't enable this feature!
810
811           Say Y if you have an IDE doubler.  The feature is enabled at kernel
812           runtime using the "gayle.doubler" kernel boot parameter.
813
814 config BLK_DEV_BUDDHA
815         tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
816         depends on ZORRO && EXPERIMENTAL
817         help
818           This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
819           and X-Surf expansion boards.  It supports up to two interfaces on the
820           Buddha, three on the Catweasel and two on the X-Surf.
821
822           Say Y if you have a Buddha or Catweasel expansion board and want to
823           use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
824           to one of its IDE interfaces.
825
826 config BLK_DEV_FALCON_IDE
827         tristate "Falcon IDE interface support"
828         depends on ATARI
829         help
830           This is the IDE driver for the on-board IDE interface on the Atari
831           Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
832           disks, CD-ROM drives, etc.) that are connected to the on-board IDE
833           interface.
834
835 config BLK_DEV_MAC_IDE
836         tristate "Macintosh Quadra/Powerbook IDE interface support"
837         depends on MAC
838         help
839           This is the IDE driver for the on-board IDE interface on some m68k
840           Macintosh models. It supports both the `Quadra style' (used in
841           Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
842           (used in the Powerbook 150 and 190 models) IDE interface.
843
844           Say Y if you have such an Macintosh model and want to use IDE
845           devices (hard disks, CD-ROM drives, etc.) that are connected to the
846           on-board IDE interface.
847
848 config BLK_DEV_Q40IDE
849         tristate "Q40/Q60 IDE interface support"
850         depends on Q40
851         help
852           Enable the on-board IDE controller in the Q40/Q60.  This should
853           normally be on; disable it only if you are running a custom hard
854           drive subsystem through an expansion card.
855
856 config BLK_DEV_PALMCHIP_BK3710
857         tristate "Palmchip bk3710 IDE controller support"
858         depends on ARCH_DAVINCI
859         select IDE_TIMINGS
860         select BLK_DEV_IDEDMA_SFF
861         help
862           Say Y here if you want to support the onchip IDE controller on the
863           TI DaVinci SoC
864
865 # no isa -> no vlb
866 if ISA && (ALPHA || X86 || MIPS)
867
868 comment "Other IDE chipsets support"
869 comment "Note: most of these also require special kernel boot parameters"
870
871 config BLK_DEV_4DRIVES
872         tristate "Generic 4 drives/port support"
873         help
874           Certain older chipsets, including the Tekram 690CD, use a single set
875           of I/O ports at 0x1f0 to control up to four drives, instead of the
876           customary two drives per port. Support for this can be enabled at
877           runtime using the "ide-4drives.probe" kernel boot parameter if you
878           say Y here.
879
880 config BLK_DEV_ALI14XX
881         tristate "ALI M14xx support"
882         select IDE_TIMINGS
883         help
884           This driver is enabled at runtime using the "ali14xx.probe" kernel
885           boot parameter.  It enables support for the secondary IDE interface
886           of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
887           I/O speeds to be set as well.
888           See the files <file:Documentation/ide/ide.txt> and
889           <file:drivers/ide/legacy/ali14xx.c> for more info.
890
891 config BLK_DEV_DTC2278
892         tristate "DTC-2278 support"
893         help
894           This driver is enabled at runtime using the "dtc2278.probe" kernel
895           boot parameter. It enables support for the secondary IDE interface
896           of the DTC-2278 card, and permits faster I/O speeds to be set as
897           well. See the <file:Documentation/ide/ide.txt> and
898           <file:drivers/ide/legacy/dtc2278.c> files for more info.
899
900 config BLK_DEV_HT6560B
901         tristate "Holtek HT6560B support"
902         select IDE_TIMINGS
903         help
904           This driver is enabled at runtime using the "ht6560b.probe" kernel
905           boot parameter. It enables support for the secondary IDE interface
906           of the Holtek card, and permits faster I/O speeds to be set as well.
907           See the <file:Documentation/ide/ide.txt> and
908           <file:drivers/ide/legacy/ht6560b.c> files for more info.
909
910 config BLK_DEV_QD65XX
911         tristate "QDI QD65xx support"
912         select IDE_TIMINGS
913         help
914           This driver is enabled at runtime using the "qd65xx.probe" kernel
915           boot parameter.  It permits faster I/O speeds to be set.  See the
916           <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
917           for more info.
918
919 config BLK_DEV_UMC8672
920         tristate "UMC-8672 support"
921         help
922           This driver is enabled at runtime using the "umc8672.probe" kernel
923           boot parameter. It enables support for the secondary IDE interface
924           of the UMC-8672, and permits faster I/O speeds to be set as well.
925           See the files <file:Documentation/ide/ide.txt> and
926           <file:drivers/ide/legacy/umc8672.c> for more info.
927
928 endif
929
930 config BLK_DEV_IDEDMA
931         def_bool BLK_DEV_IDEDMA_SFF || BLK_DEV_IDEDMA_PMAC || \
932                  BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
933
934 endif # IDE