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