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