remove detritus left by "mm: make read_cache_page synchronous"
[pandora-kernel.git] / drivers / ata / Kconfig
1 #
2 # SATA/PATA driver configuration
3 #
4
5 menuconfig ATA
6         tristate "Serial ATA and Parallel ATA drivers"
7         depends on HAS_IOMEM
8         depends on BLOCK
9         depends on !(M32R || M68K) || BROKEN
10         select SCSI
11         ---help---
12           If you want to use a ATA hard disk, ATA tape drive, ATA CD-ROM or
13           any other ATA device under Linux, say Y and make sure that you know
14           the name of your ATA host adapter (the card inside your computer
15           that "speaks" the ATA protocol, also called ATA controller),
16           because you will be asked for it.
17
18           NOTE: ATA enables basic SCSI support; *however*,
19           'SCSI disk support', 'SCSI tape support', or
20           'SCSI CDROM support' may also be needed,
21           depending on your hardware configuration.
22
23 if ATA
24
25 config ATA_NONSTANDARD
26        bool
27        default n
28
29 config ATA_VERBOSE_ERROR
30         bool "Verbose ATA error reporting"
31         default y
32         help
33           This option adds parsing of ATA command descriptions and error bits
34           in libata kernel output, making it easier to interpret.
35           This option will enlarge the kernel by approx. 6KB. Disable it only
36           if kernel size is more important than ease of debugging.
37
38           If unsure, say Y.
39
40 config ATA_ACPI
41         bool "ATA ACPI Support"
42         depends on ACPI && PCI
43         default y
44         help
45           This option adds support for ATA-related ACPI objects.
46           These ACPI objects add the ability to retrieve taskfiles
47           from the ACPI BIOS and write them to the disk controller.
48           These objects may be related to performance, security,
49           power management, or other areas.
50           You can disable this at kernel boot time by using the
51           option libata.noacpi=1
52
53 config SATA_PMP
54         bool "SATA Port Multiplier support"
55         default y
56         help
57           This option adds support for SATA Port Multipliers
58           (the SATA version of an ethernet hub, or SAS expander).
59
60 config SATA_AHCI
61         tristate "AHCI SATA support"
62         depends on PCI
63         help
64           This option enables support for AHCI Serial ATA.
65
66           If unsure, say N.
67
68 config SATA_AHCI_PLATFORM
69         tristate "Platform AHCI SATA support"
70         help
71           This option enables support for Platform AHCI Serial ATA
72           controllers.
73
74           If unsure, say N.
75
76 config SATA_SIL24
77         tristate "Silicon Image 3124/3132 SATA support"
78         depends on PCI
79         help
80           This option enables support for Silicon Image 3124/3132 Serial ATA.
81
82           If unsure, say N.
83
84 config SATA_INIC162X
85         tristate "Initio 162x SATA support"
86         depends on PCI
87         help
88           This option enables support for Initio 162x Serial ATA.
89
90 config SATA_FSL
91         tristate "Freescale 3.0Gbps SATA support"
92         depends on FSL_SOC
93         help
94           This option enables support for Freescale 3.0Gbps SATA controller.
95           It can be found on MPC837x and MPC8315.
96
97           If unsure, say N.
98
99 config ATA_SFF
100         bool "ATA SFF support"
101         default y
102         help
103           This option adds support for ATA controllers with SFF
104           compliant or similar programming interface.
105
106           SFF is the legacy IDE interface that has been around since
107           the dawn of time.  Almost all PATA controllers have an
108           SFF interface.  Many SATA controllers have an SFF interface
109           when configured into a legacy compatibility mode.
110
111           For users with exclusively modern controllers like AHCI,
112           Silicon Image 3124, or Marvell 6440, you may choose to
113           disable this unneeded SFF support.
114
115           If unsure, say Y.
116
117 if ATA_SFF
118
119 config SATA_SVW
120         tristate "ServerWorks Frodo / Apple K2 SATA support"
121         depends on PCI
122         help
123           This option enables support for Broadcom/Serverworks/Apple K2
124           SATA support.
125
126           If unsure, say N.
127
128 config ATA_PIIX
129         tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
130         depends on PCI
131         help
132           This option enables support for ICH5/6/7/8 Serial ATA
133           and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
134           host controllers.
135
136           If unsure, say N.
137
138 config SATA_MV
139         tristate "Marvell SATA support"
140         help
141           This option enables support for the Marvell Serial ATA family.
142           Currently supports 88SX[56]0[48][01] PCI(-X) chips,
143           as well as the newer [67]042 PCI-X/PCIe and SOC devices.
144
145           If unsure, say N.
146
147 config SATA_NV
148         tristate "NVIDIA SATA support"
149         depends on PCI
150         help
151           This option enables support for NVIDIA Serial ATA.
152
153           If unsure, say N.
154
155 config PDC_ADMA
156         tristate "Pacific Digital ADMA support"
157         depends on PCI
158         help
159           This option enables support for Pacific Digital ADMA controllers
160
161           If unsure, say N.
162
163 config SATA_QSTOR
164         tristate "Pacific Digital SATA QStor support"
165         depends on PCI
166         help
167           This option enables support for Pacific Digital Serial ATA QStor.
168
169           If unsure, say N.
170
171 config SATA_PROMISE
172         tristate "Promise SATA TX2/TX4 support"
173         depends on PCI
174         help
175           This option enables support for Promise Serial ATA TX2/TX4.
176
177           If unsure, say N.
178
179 config SATA_SX4
180         tristate "Promise SATA SX4 support (Experimental)"
181         depends on PCI && EXPERIMENTAL
182         help
183           This option enables support for Promise Serial ATA SX4.
184
185           If unsure, say N.
186
187 config SATA_SIL
188         tristate "Silicon Image SATA support"
189         depends on PCI
190         help
191           This option enables support for Silicon Image Serial ATA.
192
193           If unsure, say N.
194
195 config SATA_SIS
196         tristate "SiS 964/965/966/180 SATA support"
197         depends on PCI
198         select PATA_SIS
199         help
200           This option enables support for SiS Serial ATA on
201           SiS 964/965/966/180 and Parallel ATA on SiS 180.
202           The PATA support for SiS 180 requires additionally to
203           enable the PATA_SIS driver in the config.
204           If unsure, say N.
205
206 config SATA_ULI
207         tristate "ULi Electronics SATA support"
208         depends on PCI
209         help
210           This option enables support for ULi Electronics SATA.
211
212           If unsure, say N.
213
214 config SATA_VIA
215         tristate "VIA SATA support"
216         depends on PCI
217         help
218           This option enables support for VIA Serial ATA.
219
220           If unsure, say N.
221
222 config SATA_VITESSE
223         tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
224         depends on PCI
225         help
226           This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
227
228           If unsure, say N.
229
230 config PATA_ACPI
231         tristate "ACPI firmware driver for PATA"
232         depends on ATA_ACPI
233         help
234           This option enables an ACPI method driver which drives
235           motherboard PATA controller interfaces through the ACPI
236           firmware in the BIOS. This driver can sometimes handle
237           otherwise unsupported hardware.
238
239 config PATA_ALI
240         tristate "ALi PATA support"
241         depends on PCI
242         help
243           This option enables support for the ALi ATA interfaces
244           found on the many ALi chipsets.
245
246           If unsure, say N.
247
248 config PATA_AMD
249         tristate "AMD/NVidia PATA support"
250         depends on PCI
251         help
252           This option enables support for the AMD and NVidia PATA
253           interfaces found on the chipsets for Athlon/Athlon64.
254
255           If unsure, say N.
256
257 config PATA_ARTOP
258         tristate "ARTOP 6210/6260 PATA support"
259         depends on PCI
260         help
261           This option enables support for ARTOP PATA controllers.
262
263           If unsure, say N.
264
265 config PATA_ATP867X
266         tristate "ARTOP/Acard ATP867X PATA support"
267         depends on PCI
268         help
269           This option enables support for ARTOP/Acard ATP867X PATA
270           controllers.
271
272           If unsure, say N.
273
274 config PATA_AT32
275         tristate "Atmel AVR32 PATA support (Experimental)"
276         depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
277         help
278           This option enables support for the IDE devices on the
279           Atmel AT32AP platform.
280
281           If unsure, say N.
282
283 config PATA_ATIIXP
284         tristate "ATI PATA support"
285         depends on PCI
286         help
287           This option enables support for the ATI ATA interfaces
288           found on the many ATI chipsets.
289
290           If unsure, say N.
291
292 config PATA_CMD640_PCI
293         tristate "CMD640 PCI PATA support (Experimental)"
294         depends on PCI && EXPERIMENTAL
295         help
296           This option enables support for the CMD640 PCI IDE
297           interface chip. Only the primary channel is currently
298           supported.
299
300           If unsure, say N.
301
302 config PATA_CMD64X
303         tristate "CMD64x PATA support"
304         depends on PCI
305         help
306           This option enables support for the CMD64x series chips
307           except for the CMD640.
308
309           If unsure, say N.
310
311 config PATA_CS5520
312         tristate "CS5510/5520 PATA support"
313         depends on PCI
314         help
315           This option enables support for the Cyrix 5510/5520
316           companion chip used with the MediaGX/Geode processor family.
317
318           If unsure, say N.
319
320 config PATA_CS5530
321         tristate "CS5530 PATA support"
322         depends on PCI
323         help
324           This option enables support for the Cyrix/NatSemi/AMD CS5530
325           companion chip used with the MediaGX/Geode processor family.
326
327           If unsure, say N.
328
329 config PATA_CS5535
330         tristate "CS5535 PATA support (Experimental)"
331         depends on PCI && X86 && !X86_64 && EXPERIMENTAL
332         help
333           This option enables support for the NatSemi/AMD CS5535
334           companion chip used with the Geode processor family.
335
336           If unsure, say N.
337
338 config PATA_CS5536
339         tristate "CS5536 PATA support"
340         depends on PCI && X86 && !X86_64
341         help
342           This option enables support for the AMD CS5536
343           companion chip used with the Geode LX processor family.
344
345           If unsure, say N.
346
347 config PATA_CYPRESS
348         tristate "Cypress CY82C693 PATA support (Very Experimental)"
349         depends on PCI && EXPERIMENTAL
350         help
351           This option enables support for the Cypress/Contaq CY82C693
352           chipset found in some Alpha systems
353
354           If unsure, say N.
355
356 config PATA_EFAR
357         tristate "EFAR SLC90E66 support"
358         depends on PCI
359         help
360           This option enables support for the EFAR SLC90E66
361           IDE controller found on some older machines.
362
363           If unsure, say N.
364
365 config ATA_GENERIC
366         tristate "Generic ATA support"
367         depends on PCI
368         help
369           This option enables support for generic BIOS configured
370           ATA controllers via the new ATA layer
371
372           If unsure, say N.
373
374 config PATA_HPT366
375         tristate "HPT 366/368 PATA support"
376         depends on PCI
377         help
378           This option enables support for the HPT 366 and 368
379           PATA controllers via the new ATA layer.
380
381           If unsure, say N.
382
383 config PATA_HPT37X
384         tristate "HPT 370/370A/371/372/374/302 PATA support"
385         depends on PCI
386         help
387           This option enables support for the majority of the later HPT
388           PATA controllers via the new ATA layer.
389
390           If unsure, say N.
391
392 config PATA_HPT3X2N
393         tristate "HPT 372N/302N PATA support"
394         depends on PCI
395         help
396           This option enables support for the N variant HPT PATA
397           controllers via the new ATA layer
398
399           If unsure, say N.
400
401 config PATA_HPT3X3
402         tristate "HPT 343/363 PATA support"
403         depends on PCI
404         help
405           This option enables support for the HPT 343/363
406           PATA controllers via the new ATA layer
407
408           If unsure, say N.
409
410 config PATA_HPT3X3_DMA
411         bool "HPT 343/363 DMA support"
412         depends on PATA_HPT3X3
413         help
414           This option enables DMA support for the HPT343/363
415           controllers. Enable with care as there are still some
416           problems with DMA on this chipset.
417
418 config PATA_ISAPNP
419         tristate "ISA Plug and Play PATA support"
420         depends on ISAPNP
421         help
422           This option enables support for ISA plug & play ATA
423           controllers such as those found on old soundcards.
424
425           If unsure, say N.
426
427 config PATA_IT821X
428         tristate "IT8211/2 PATA support"
429         depends on PCI
430         help
431           This option enables support for the ITE 8211 and 8212
432           PATA controllers via the new ATA layer, including RAID
433           mode.
434
435           If unsure, say N.
436
437 config PATA_IT8213
438         tristate "IT8213 PATA support (Experimental)"
439         depends on PCI && EXPERIMENTAL
440         help
441           This option enables support for the ITE 821 PATA
442           controllers via the new ATA layer.
443
444           If unsure, say N.
445
446 config PATA_JMICRON
447         tristate "JMicron PATA support"
448         depends on PCI
449         help
450           Enable support for the JMicron IDE controller, via the new
451           ATA layer.
452
453           If unsure, say N.
454
455 config PATA_LEGACY
456         tristate "Legacy ISA PATA support (Experimental)"
457         depends on (ISA || PCI)  && EXPERIMENTAL
458         help
459           This option enables support for ISA/VLB/PCI bus legacy PATA
460           ports and allows them to be accessed via the new ATA layer.
461
462           If unsure, say N.
463
464 config PATA_TRIFLEX
465         tristate "Compaq Triflex PATA support"
466         depends on PCI
467         help
468           Enable support for the Compaq 'Triflex' IDE controller as found
469           on many Compaq Pentium-Pro systems, via the new ATA layer.
470
471           If unsure, say N.
472
473 config PATA_MARVELL
474         tristate "Marvell PATA support via legacy mode"
475         depends on PCI
476         help
477           This option enables limited support for the Marvell 88SE61xx ATA
478           controllers. If you wish to use only the SATA ports then select
479           the AHCI driver alone. If you wish to the use the PATA port or
480           both SATA and PATA include this driver.
481
482           If unsure, say N.
483
484 config PATA_MPC52xx
485         tristate "Freescale MPC52xx SoC internal IDE"
486         depends on PPC_MPC52xx && PPC_BESTCOMM
487         select PPC_BESTCOMM_ATA
488         help
489           This option enables support for integrated IDE controller
490           of the Freescale MPC52xx SoC.
491
492           If unsure, say N.
493
494 config PATA_MPIIX
495         tristate "Intel PATA MPIIX support"
496         depends on PCI
497         help
498           This option enables support for MPIIX PATA support.
499
500           If unsure, say N.
501
502 config PATA_OLDPIIX
503         tristate "Intel PATA old PIIX support"
504         depends on PCI
505         help
506           This option enables support for early PIIX PATA support.
507
508           If unsure, say N.
509
510 config PATA_NETCELL
511         tristate "NETCELL Revolution RAID support"
512         depends on PCI
513         help
514           This option enables support for the Netcell Revolution RAID
515           PATA controller.
516
517           If unsure, say N.
518
519 config PATA_NINJA32
520         tristate "Ninja32/Delkin Cardbus ATA support"
521         depends on PCI
522         help
523           This option enables support for the Ninja32, Delkin and
524           possibly other brands of Cardbus ATA adapter
525
526           If unsure, say N.
527
528 config PATA_NS87410
529         tristate "Nat Semi NS87410 PATA support"
530         depends on PCI
531         help
532           This option enables support for the National Semiconductor
533           NS87410 PCI-IDE controller.
534
535           If unsure, say N.
536
537 config PATA_NS87415
538         tristate "Nat Semi NS87415 PATA support"
539         depends on PCI
540         help
541           This option enables support for the National Semiconductor
542           NS87415 PCI-IDE controller.
543
544           If unsure, say N.
545
546 config PATA_OPTI
547         tristate "OPTI621/6215 PATA support (Very Experimental)"
548         depends on PCI && EXPERIMENTAL
549         help
550           This option enables full PIO support for the early Opti ATA
551           controllers found on some old motherboards.
552
553           If unsure, say N.
554
555 config PATA_OPTIDMA
556         tristate "OPTI FireStar PATA support (Very Experimental)"
557         depends on PCI && EXPERIMENTAL
558         help
559           This option enables DMA/PIO support for the later OPTi
560           controllers found on some old motherboards and in some
561           laptops.
562
563           If unsure, say N.
564
565 config PATA_PALMLD
566         tristate "Palm LifeDrive PATA support"
567         depends on MACH_PALMLD
568         help
569           This option enables support for Palm LifeDrive's internal ATA
570           port via the new ATA layer.
571
572           If unsure, say N.
573
574 config PATA_PCMCIA
575         tristate "PCMCIA PATA support"
576         depends on PCMCIA
577         help
578           This option enables support for PCMCIA ATA interfaces, including
579           compact flash card adapters via the new ATA layer.
580
581           If unsure, say N.
582
583 config PATA_PDC2027X
584         tristate "Promise PATA 2027x support"
585         depends on PCI
586         help
587           This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
588
589           If unsure, say N.
590
591 config PATA_PDC_OLD
592         tristate "Older Promise PATA controller support"
593         depends on PCI
594         help
595           This option enables support for the Promise 20246, 20262, 20263,
596           20265 and 20267 adapters.
597
598           If unsure, say N.
599
600 config PATA_QDI
601         tristate "QDI VLB PATA support"
602         depends on ISA
603         help
604           Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
605
606 config PATA_RADISYS
607         tristate "RADISYS 82600 PATA support (Experimental)"
608         depends on PCI && EXPERIMENTAL
609         help
610           This option enables support for the RADISYS 82600
611           PATA controllers via the new ATA layer
612
613           If unsure, say N.
614
615 config PATA_RB532
616         tristate "RouterBoard 532 PATA CompactFlash support"
617         depends on MIKROTIK_RB532
618         help
619           This option enables support for the RouterBoard 532
620           PATA CompactFlash controller.
621
622           If unsure, say N.
623
624 config PATA_RDC
625         tristate "RDC PATA support"
626         depends on PCI
627         help
628           This option enables basic support for the later RDC PATA controllers
629           controllers via the new ATA layer. For the RDC 1010, you need to
630           enable the IT821X driver instead.
631
632           If unsure, say N.
633
634 config PATA_RZ1000
635         tristate "PC Tech RZ1000 PATA support"
636         depends on PCI
637         help
638           This option enables basic support for the PC Tech RZ1000/1
639           PATA controllers via the new ATA layer
640
641           If unsure, say N.
642
643 config PATA_SC1200
644         tristate "SC1200 PATA support"
645         depends on PCI
646         help
647           This option enables support for the NatSemi/AMD SC1200 SoC
648           companion chip used with the Geode processor family.
649
650           If unsure, say N.
651
652 config PATA_SERVERWORKS
653         tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
654         depends on PCI
655         help
656           This option enables support for the Serverworks OSB4/CSB5/CSB6 and
657           HT1000 PATA controllers, via the new ATA layer.
658
659           If unsure, say N.
660
661 config PATA_SIL680
662         tristate "CMD / Silicon Image 680 PATA support"
663         depends on PCI
664         help
665           This option enables support for CMD / Silicon Image 680 PATA.
666
667           If unsure, say N.
668
669 config PATA_SIS
670         tristate "SiS PATA support"
671         depends on PCI
672         help
673           This option enables support for SiS PATA controllers
674
675           If unsure, say N.
676
677 config PATA_TOSHIBA
678         tristate "Toshiba Piccolo support (Experimental)"
679         depends on PCI && EXPERIMENTAL
680         help
681           Support for the Toshiba Piccolo controllers. Currently only the
682           primary channel is supported by this driver.
683
684           If unsure, say N.
685
686 config PATA_VIA
687         tristate "VIA PATA support"
688         depends on PCI
689         help
690           This option enables support for the VIA PATA interfaces
691           found on the many VIA chipsets.
692
693           If unsure, say N.
694
695 config PATA_WINBOND
696         tristate "Winbond SL82C105 PATA support"
697         depends on PCI
698         help
699           This option enables support for SL82C105 PATA devices found in the
700           Netwinder and some other systems
701
702           If unsure, say N.
703
704 config PATA_WINBOND_VLB
705         tristate "Winbond W83759A VLB PATA support (Experimental)"
706         depends on ISA && EXPERIMENTAL
707         help
708           Support for the Winbond W83759A controller on Vesa Local Bus
709           systems.
710
711 config HAVE_PATA_PLATFORM
712         bool
713         help
714           This is an internal configuration node for any machine that
715           uses pata-platform driver to enable the relevant driver in the
716           configuration structure without having to submit endless patches
717           to update the PATA_PLATFORM entry.
718
719 config PATA_PLATFORM
720         tristate "Generic platform device PATA support"
721         depends on EMBEDDED || PPC || HAVE_PATA_PLATFORM
722         help
723           This option enables support for generic directly connected ATA
724           devices commonly found on embedded systems.
725
726           If unsure, say N.
727
728 config PATA_AT91
729         tristate "PATA support for AT91SAM9260"
730         depends on ARM && ARCH_AT91
731         help
732           This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.
733
734           If unsure, say N.
735
736 config PATA_OF_PLATFORM
737         tristate "OpenFirmware platform device PATA support"
738         depends on PATA_PLATFORM && PPC_OF
739         help
740           This option enables support for generic directly connected ATA
741           devices commonly found on embedded systems with OpenFirmware
742           bindings.
743
744           If unsure, say N.
745
746 config PATA_ICSIDE
747         tristate "Acorn ICS PATA support"
748         depends on ARM && ARCH_ACORN
749         help
750           On Acorn systems, say Y here if you wish to use the ICS PATA
751           interface card.  This is not required for ICS partition support.
752           If you are unsure, say N to this.
753
754 config PATA_IXP4XX_CF
755         tristate "IXP4XX Compact Flash support"
756         depends on ARCH_IXP4XX
757         help
758           This option enables support for a Compact Flash connected on
759           the ixp4xx expansion bus. This driver had been written for
760           Loft/Avila boards in mind but can work with others.
761
762           If unsure, say N.
763
764 config PATA_OCTEON_CF
765         tristate "OCTEON Boot Bus Compact Flash support"
766         depends on CPU_CAVIUM_OCTEON
767         help
768           This option enables a polled compact flash driver for use with
769           compact flash cards attached to the OCTEON boot bus.
770
771           If unsure, say N.
772
773 config PATA_SCC
774         tristate "Toshiba's Cell Reference Set IDE support"
775         depends on PCI && PPC_CELLEB
776         help
777           This option enables support for the built-in IDE controller on
778           Toshiba Cell Reference Board.
779
780           If unsure, say N.
781
782 config PATA_SCH
783         tristate "Intel SCH PATA support"
784         depends on PCI
785         help
786           This option enables support for Intel SCH PATA on the Intel
787           SCH (US15W, US15L, UL11L) series host controllers.
788
789           If unsure, say N.
790
791 config PATA_BF54X
792         tristate "Blackfin 54x ATAPI support"
793         depends on BF542 || BF548 || BF549
794         help
795           This option enables support for the built-in ATAPI controller on
796           Blackfin 54x family chips.
797
798           If unsure, say N.
799
800 config PATA_MACIO
801         tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
802         depends on PPC_PMAC
803         help
804           Most IDE capable PowerMacs have IDE busses driven by a variant
805           of this controller which is part of the Apple chipset used on
806           most PowerMac models. Some models have multiple busses using
807           different chipsets, though generally, MacIO is one of them.
808
809
810 endif # ATA_SFF
811 endif # ATA