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