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