hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/ata/Kconfig
....@@ -17,7 +17,7 @@
1717 depends on BLOCK
1818 select SCSI
1919 select GLOB
20
- ---help---
20
+ help
2121 If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or
2222 any other ATA device under Linux, say Y and make sure that you know
2323 the name of your ATA host adapter (the card inside your computer
....@@ -33,7 +33,12 @@
3333
3434 config ATA_NONSTANDARD
3535 bool
36
- default n
36
+
37
+config SATA_HOST
38
+ bool
39
+
40
+config PATA_TIMINGS
41
+ bool
3742
3843 config ATA_VERBOSE_ERROR
3944 bool "Verbose ATA error reporting"
....@@ -46,9 +51,26 @@
4651
4752 If unsure, say Y.
4853
54
+config ATA_FORCE
55
+ bool "\"libata.force=\" kernel parameter support" if EXPERT
56
+ default y
57
+ help
58
+ This option adds support for "libata.force=" kernel parameter for
59
+ forcing configuration settings.
60
+
61
+ For further information, please read
62
+ <file:Documentation/admin-guide/kernel-parameters.txt>.
63
+
64
+ This option will enlarge the kernel by approx. 3KB. Disable it if
65
+ kernel size is more important than ability to override the default
66
+ configuration settings.
67
+
68
+ If unsure, say Y.
69
+
4970 config ATA_ACPI
5071 bool "ATA ACPI Support"
5172 depends on ACPI
73
+ select PATA_TIMINGS
5274 default y
5375 help
5476 This option adds support for ATA-related ACPI objects.
....@@ -62,7 +84,6 @@
6284 config SATA_ZPODD
6385 bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
6486 depends on ATA_ACPI && PM
65
- default n
6687 help
6788 This option adds support for SATA Zero Power Optical Disc
6889 Drive (ZPODD). It requires both the ODD and the platform
....@@ -75,6 +96,7 @@
7596
7697 config SATA_PMP
7798 bool "SATA Port Multiplier support"
99
+ depends on SATA_HOST
78100 default y
79101 help
80102 This option adds support for SATA Port Multipliers
....@@ -87,6 +109,7 @@
87109 config SATA_AHCI
88110 tristate "AHCI SATA support"
89111 depends on PCI
112
+ select SATA_HOST
90113 help
91114 This option enables support for AHCI Serial ATA.
92115
....@@ -113,6 +136,7 @@
113136
114137 config SATA_AHCI_PLATFORM
115138 tristate "Platform AHCI SATA support"
139
+ select SATA_HOST
116140 help
117141 This option enables support for Platform AHCI Serial ATA
118142 controllers.
....@@ -123,6 +147,7 @@
123147 tristate "Broadcom AHCI SATA support"
124148 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
125149 ARCH_BCM_63XX
150
+ select SATA_HOST
126151 help
127152 This option enables support for the AHCI SATA3 controller found on
128153 Broadcom SoC's.
....@@ -132,6 +157,7 @@
132157 config AHCI_DA850
133158 tristate "DaVinci DA850 AHCI SATA support"
134159 depends on ARCH_DAVINCI_DA850
160
+ select SATA_HOST
135161 help
136162 This option enables support for the DaVinci DA850 SoC's
137163 onboard AHCI SATA.
....@@ -141,6 +167,7 @@
141167 config AHCI_DM816
142168 tristate "DaVinci DM816 AHCI SATA support"
143169 depends on ARCH_OMAP2PLUS
170
+ select SATA_HOST
144171 help
145172 This option enables support for the DaVinci DM816 SoC's
146173 onboard AHCI SATA controller.
....@@ -150,6 +177,7 @@
150177 config AHCI_ST
151178 tristate "ST AHCI SATA support"
152179 depends on ARCH_STI
180
+ select SATA_HOST
153181 help
154182 This option enables support for ST AHCI SATA controller.
155183
....@@ -159,6 +187,7 @@
159187 tristate "Freescale i.MX AHCI SATA support"
160188 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
161189 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
190
+ select SATA_HOST
162191 help
163192 This option enables support for the Freescale i.MX SoC's
164193 onboard AHCI SATA.
....@@ -168,6 +197,7 @@
168197 config AHCI_CEVA
169198 tristate "CEVA AHCI SATA support"
170199 depends on OF
200
+ select SATA_HOST
171201 help
172202 This option enables support for the CEVA AHCI SATA.
173203 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
....@@ -178,6 +208,7 @@
178208 tristate "MediaTek AHCI SATA support"
179209 depends on ARCH_MEDIATEK
180210 select MFD_SYSCON
211
+ select SATA_HOST
181212 help
182213 This option enables support for the MediaTek SoC's
183214 onboard AHCI SATA controller.
....@@ -187,6 +218,7 @@
187218 config AHCI_MVEBU
188219 tristate "Marvell EBU AHCI SATA support"
189220 depends on ARCH_MVEBU
221
+ select SATA_HOST
190222 help
191223 This option enables support for the Marvebu EBU SoC's
192224 onboard AHCI SATA.
....@@ -205,6 +237,7 @@
205237 config AHCI_SUNXI
206238 tristate "Allwinner sunxi AHCI SATA support"
207239 depends on ARCH_SUNXI
240
+ select SATA_HOST
208241 help
209242 This option enables support for the Allwinner sunxi SoC's
210243 onboard AHCI SATA.
....@@ -214,6 +247,7 @@
214247 config AHCI_TEGRA
215248 tristate "NVIDIA Tegra AHCI SATA support"
216249 depends on ARCH_TEGRA
250
+ select SATA_HOST
217251 help
218252 This option enables support for the NVIDIA Tegra SoC's
219253 onboard AHCI SATA.
....@@ -223,12 +257,14 @@
223257 config AHCI_XGENE
224258 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
225259 depends on PHY_XGENE
260
+ select SATA_HOST
226261 help
227262 This option enables support for APM X-Gene SoC SATA host controller.
228263
229264 config AHCI_QORIQ
230265 tristate "Freescale QorIQ AHCI SATA support"
231266 depends on OF
267
+ select SATA_HOST
232268 help
233269 This option enables support for the Freescale QorIQ AHCI SoC's
234270 onboard AHCI SATA.
....@@ -238,6 +274,7 @@
238274 config SATA_FSL
239275 tristate "Freescale 3.0Gbps SATA support"
240276 depends on FSL_SOC
277
+ select SATA_HOST
241278 help
242279 This option enables support for Freescale 3.0Gbps SATA controller.
243280 It can be found on MPC837x and MPC8315.
....@@ -247,6 +284,7 @@
247284 config SATA_GEMINI
248285 tristate "Gemini SATA bridge support"
249286 depends on ARCH_GEMINI || COMPILE_TEST
287
+ select SATA_HOST
250288 default ARCH_GEMINI
251289 help
252290 This enabled support for the FTIDE010 to SATA bridge
....@@ -257,6 +295,7 @@
257295 config SATA_AHCI_SEATTLE
258296 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
259297 depends on ARCH_SEATTLE
298
+ select SATA_HOST
260299 help
261300 This option enables support for AMD Seattle SATA host controller.
262301
....@@ -265,12 +304,14 @@
265304 config SATA_INIC162X
266305 tristate "Initio 162x SATA support (Very Experimental)"
267306 depends on PCI
307
+ select SATA_HOST
268308 help
269309 This option enables support for Initio 162x Serial ATA.
270310
271311 config SATA_ACARD_AHCI
272312 tristate "ACard AHCI variant (ATP 8620)"
273313 depends on PCI
314
+ select SATA_HOST
274315 help
275316 This option enables support for Acard.
276317
....@@ -279,6 +320,7 @@
279320 config SATA_SIL24
280321 tristate "Silicon Image 3124/3132 SATA support"
281322 depends on PCI
323
+ select SATA_HOST
282324 help
283325 This option enables support for Silicon Image 3124/3132 Serial ATA.
284326
....@@ -319,6 +361,7 @@
319361 config PATA_OCTEON_CF
320362 tristate "OCTEON Boot Bus Compact Flash support"
321363 depends on CAVIUM_OCTEON_SOC
364
+ select PATA_TIMINGS
322365 help
323366 This option enables a polled compact flash driver for use with
324367 compact flash cards attached to the OCTEON boot bus.
....@@ -328,6 +371,7 @@
328371 config SATA_QSTOR
329372 tristate "Pacific Digital SATA QStor support"
330373 depends on PCI
374
+ select SATA_HOST
331375 help
332376 This option enables support for Pacific Digital Serial ATA QStor.
333377
....@@ -336,6 +380,7 @@
336380 config SATA_SX4
337381 tristate "Promise SATA SX4 support (Experimental)"
338382 depends on PCI
383
+ select SATA_HOST
339384 help
340385 This option enables support for Promise Serial ATA SX4.
341386
....@@ -359,6 +404,7 @@
359404 config ATA_PIIX
360405 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
361406 depends on PCI
407
+ select SATA_HOST
362408 help
363409 This option enables support for ICH5/6/7/8 Serial ATA
364410 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
....@@ -370,6 +416,7 @@
370416 tristate "DesignWare Cores SATA support"
371417 depends on DMADEVICES
372418 select GENERIC_PHY
419
+ select SATA_HOST
373420 help
374421 This option enables support for the on-chip SATA controller of the
375422 AppliedMicro processor 460EX.
....@@ -400,6 +447,7 @@
400447 config SATA_HIGHBANK
401448 tristate "Calxeda Highbank SATA support"
402449 depends on ARCH_HIGHBANK || COMPILE_TEST
450
+ select SATA_HOST
403451 help
404452 This option enables support for the Calxeda Highbank SoC's
405453 onboard SATA.
....@@ -411,6 +459,7 @@
411459 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
412460 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
413461 select GENERIC_PHY
462
+ select SATA_HOST
414463 help
415464 This option enables support for the Marvell Serial ATA family.
416465 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
....@@ -421,6 +470,7 @@
421470 config SATA_NV
422471 tristate "NVIDIA SATA support"
423472 depends on PCI
473
+ select SATA_HOST
424474 help
425475 This option enables support for NVIDIA Serial ATA.
426476
....@@ -429,6 +479,7 @@
429479 config SATA_PROMISE
430480 tristate "Promise SATA TX2/TX4 support"
431481 depends on PCI
482
+ select SATA_HOST
432483 help
433484 This option enables support for Promise Serial ATA TX2/TX4.
434485
....@@ -437,6 +488,7 @@
437488 config SATA_RCAR
438489 tristate "Renesas R-Car SATA support"
439490 depends on ARCH_RENESAS || COMPILE_TEST
491
+ select SATA_HOST
440492 help
441493 This option enables support for Renesas R-Car Serial ATA.
442494
....@@ -445,6 +497,7 @@
445497 config SATA_SIL
446498 tristate "Silicon Image SATA support"
447499 depends on PCI
500
+ select SATA_HOST
448501 help
449502 This option enables support for Silicon Image Serial ATA.
450503
....@@ -454,6 +507,7 @@
454507 tristate "SiS 964/965/966/180 SATA support"
455508 depends on PCI
456509 select PATA_SIS
510
+ select SATA_HOST
457511 help
458512 This option enables support for SiS Serial ATA on
459513 SiS 964/965/966/180 and Parallel ATA on SiS 180.
....@@ -464,6 +518,7 @@
464518 config SATA_SVW
465519 tristate "ServerWorks Frodo / Apple K2 SATA support"
466520 depends on PCI
521
+ select SATA_HOST
467522 help
468523 This option enables support for Broadcom/Serverworks/Apple K2
469524 SATA support.
....@@ -473,6 +528,7 @@
473528 config SATA_ULI
474529 tristate "ULi Electronics SATA support"
475530 depends on PCI
531
+ select SATA_HOST
476532 help
477533 This option enables support for ULi Electronics SATA.
478534
....@@ -481,6 +537,7 @@
481537 config SATA_VIA
482538 tristate "VIA SATA support"
483539 depends on PCI
540
+ select SATA_HOST
484541 help
485542 This option enables support for VIA Serial ATA.
486543
....@@ -489,6 +546,7 @@
489546 config SATA_VITESSE
490547 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
491548 depends on PCI
549
+ select SATA_HOST
492550 help
493551 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
494552
....@@ -499,6 +557,7 @@
499557 config PATA_ALI
500558 tristate "ALi PATA support"
501559 depends on PCI
560
+ select PATA_TIMINGS
502561 help
503562 This option enables support for the ALi ATA interfaces
504563 found on the many ALi chipsets.
....@@ -508,6 +567,7 @@
508567 config PATA_AMD
509568 tristate "AMD/NVidia PATA support"
510569 depends on PCI
570
+ select PATA_TIMINGS
511571 help
512572 This option enables support for the AMD and NVidia PATA
513573 interfaces found on the chipsets for Athlon/Athlon64.
....@@ -542,6 +602,7 @@
542602 config PATA_ATP867X
543603 tristate "ARTOP/Acard ATP867X PATA support"
544604 depends on PCI
605
+ select PATA_TIMINGS
545606 help
546607 This option enables support for ARTOP/Acard ATP867X PATA
547608 controllers.
....@@ -551,6 +612,7 @@
551612 config PATA_BK3710
552613 tristate "Palmchip BK3710 PATA support"
553614 depends on ARCH_DAVINCI
615
+ select PATA_TIMINGS
554616 help
555617 This option enables support for the integrated IDE controller on
556618 the TI DaVinci SoC.
....@@ -560,6 +622,7 @@
560622 config PATA_CMD64X
561623 tristate "CMD64x PATA support"
562624 depends on PCI
625
+ select PATA_TIMINGS
563626 help
564627 This option enables support for the CMD64x series chips
565628 except for the CMD640.
....@@ -605,6 +668,7 @@
605668 config PATA_CYPRESS
606669 tristate "Cypress CY82C693 PATA support (Very Experimental)"
607670 depends on PCI
671
+ select PATA_TIMINGS
608672 help
609673 This option enables support for the Cypress/Contaq CY82C693
610674 chipset found in some Alpha systems
....@@ -623,6 +687,7 @@
623687 config PATA_EP93XX
624688 tristate "Cirrus Logic EP93xx PATA support"
625689 depends on ARCH_EP93XX
690
+ select PATA_TIMINGS
626691 help
627692 This option enables support for the PATA controller in
628693 the Cirrus Logic EP9312 and EP9315 ARM CPU.
....@@ -687,6 +752,7 @@
687752 config PATA_ICSIDE
688753 tristate "Acorn ICS PATA support"
689754 depends on ARM && ARCH_ACORN
755
+ select PATA_TIMINGS
690756 help
691757 On Acorn systems, say Y here if you wish to use the ICS PATA
692758 interface card. This is not required for ICS partition support.
....@@ -695,6 +761,7 @@
695761 config PATA_IMX
696762 tristate "PATA support for Freescale iMX"
697763 depends on ARCH_MXC
764
+ select PATA_TIMINGS
698765 help
699766 This option enables support for the PATA host available on Freescale
700767 iMX SoCs.
....@@ -780,6 +847,7 @@
780847 config PATA_NS87415
781848 tristate "Nat Semi NS87415 PATA support"
782849 depends on PCI
850
+ select PATA_TIMINGS
783851 help
784852 This option enables support for the National Semiconductor
785853 NS87415 PCI-IDE controller.
....@@ -904,6 +972,7 @@
904972 config PATA_VIA
905973 tristate "VIA PATA support"
906974 depends on PCI
975
+ select PATA_TIMINGS
907976 help
908977 This option enables support for the VIA PATA interfaces
909978 found on the many VIA chipsets.
....@@ -937,6 +1006,7 @@
9371006 config PATA_CMD640_PCI
9381007 tristate "CMD640 PCI PATA support (Experimental)"
9391008 depends on PCI
1009
+ select PATA_TIMINGS
9401010 help
9411011 This option enables support for the CMD640 PCI IDE
9421012 interface chip. Only the primary channel is currently
....@@ -962,6 +1032,18 @@
9621032 A4000 and A4000T) and also for IDE interfaces on
9631033 the Zorro expansion bus (M-Tech E-Matrix 530
9641034 expansion card).
1035
+
1036
+ If unsure, say N.
1037
+
1038
+config PATA_BUDDHA
1039
+ tristate "Buddha/Catweasel/X-Surf PATA support"
1040
+ depends on ZORRO
1041
+ help
1042
+ This option enables support for the IDE interfaces
1043
+ on the Buddha, Catweasel and X-Surf expansion boards
1044
+ on the Zorro expansion bus. It supports up to two
1045
+ interfaces on the Buddha, three on the Catweasel and
1046
+ two on the X-Surf.
9651047
9661048 If unsure, say N.
9671049
....@@ -995,6 +1077,7 @@
9951077 config PATA_NS87410
9961078 tristate "Nat Semi NS87410 PATA support"
9971079 depends on PCI
1080
+ select PATA_TIMINGS
9981081 help
9991082 This option enables support for the National Semiconductor
10001083 NS87410 PCI-IDE controller.
....@@ -1075,6 +1158,7 @@
10751158 config PATA_SAMSUNG_CF
10761159 tristate "Samsung SoC PATA support"
10771160 depends on SAMSUNG_DEV_IDE
1161
+ select PATA_TIMINGS
10781162 help
10791163 This option enables basic support for Samsung's S3C/S5P board
10801164 PATA controllers via the new ATA layer
....@@ -1093,7 +1177,8 @@
10931177
10941178 config PATA_ACPI
10951179 tristate "ACPI firmware driver for PATA"
1096
- depends on ATA_ACPI && ATA_BMDMA
1180
+ depends on ATA_ACPI && ATA_BMDMA && PCI
1181
+ select PATA_TIMINGS
10971182 help
10981183 This option enables an ACPI method driver which drives
10991184 motherboard PATA controller interfaces through the ACPI
....@@ -1103,6 +1188,7 @@
11031188 config ATA_GENERIC
11041189 tristate "Generic ATA support"
11051190 depends on PCI && ATA_BMDMA
1191
+ select SATA_HOST
11061192 help
11071193 This option enables support for generic BIOS configured
11081194 ATA controllers via the new ATA layer
....@@ -1112,6 +1198,7 @@
11121198 config PATA_LEGACY
11131199 tristate "Legacy ISA PATA support (Experimental)"
11141200 depends on (ISA || PCI)
1201
+ select PATA_TIMINGS
11151202 help
11161203 This option enables support for ISA/VLB/PCI bus legacy PATA
11171204 ports and allows them to be accessed via the new ATA layer.