hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
# SPDX-License-Identifier: GPL-2.0-only
menu "SCSI device support"
 
config SCSI_MOD
       tristate
       default y if SCSI=n || SCSI=y
       default m if SCSI=m
 
config RAID_ATTRS
   tristate "RAID Transport Class"
   default n
   depends on BLOCK
   depends on SCSI_MOD
   help
     Provides RAID
 
config SCSI
   tristate "SCSI device support"
   depends on BLOCK
   select SCSI_DMA if HAS_DMA
   select SG_POOL
   select BLK_SCSI_REQUEST
   help
     If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
     any other SCSI device under Linux, say Y and make sure that you know
     the name of your SCSI host adapter (the card inside your computer
     that "speaks" the SCSI protocol, also called SCSI controller),
     because you will be asked for it.
 
     You also need to say Y here if you have a device which speaks
     the SCSI protocol.  Examples of this include the parallel port
     version of the IOMEGA ZIP drive, USB storage devices, Fibre
     Channel, and FireWire storage.
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>.
     The module will be called scsi_mod.
 
     However, do not compile this as a module if your root file system
     (the one containing the directory /) is located on a SCSI device.
 
config SCSI_DMA
   bool
   default n
 
config SCSI_ESP_PIO
   bool
 
config SCSI_NETLINK
   bool
   default    n
   depends on NET
 
config SCSI_PROC_FS
   bool "legacy /proc/scsi/ support"
   depends on SCSI && PROC_FS
   default y
   help
     This option enables support for the various files in
     /proc/scsi.  In Linux 2.6 this has been superseded by
     files in sysfs but many legacy applications rely on this.
 
     If unsure say Y.
 
comment "SCSI support type (disk, tape, CD-ROM)"
   depends on SCSI
 
config BLK_DEV_SD
   tristate "SCSI disk support"
   depends on SCSI
   select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
   help
     If you want to use SCSI hard disks, Fibre Channel disks,
     Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
     USB storage or the SCSI or parallel port version of
     the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO,
     the Disk-HOWTO and the Multi-Disk-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI
     CD-ROMs.
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>.
     The module will be called sd_mod.
 
     Do not compile this driver as a module if your root file system
     (the one containing the directory /) is located on a SCSI disk.
     In this case, do not compile the driver for your SCSI host adapter
     (below) as a module either.
 
config CHR_DEV_ST
   tristate "SCSI tape support"
   depends on SCSI
   help
     If you want to use a SCSI tape drive under Linux, say Y and read the
     SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>, and
     <file:Documentation/scsi/st.rst> in the kernel source.  This is NOT
     for SCSI CD-ROMs.
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>. The module will be called st.
 
config BLK_DEV_SR
   tristate "SCSI CDROM support"
   depends on SCSI && BLK_DEV
   select CDROM
   help
     If you want to use a CD or DVD drive attached to your computer
     by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO
     and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>.
 
     Make sure to say Y or M to "ISO 9660 CD-ROM file system support".
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>.
     The module will be called sr_mod.
 
config CHR_DEV_SG
   tristate "SCSI generic support"
   depends on SCSI
   help
     If you want to use SCSI scanners, synthesizers or CD-writers or just
     about anything having "SCSI" in its name other than hard disks,
     CD-ROMs or tapes, say Y here. These won't be supported by the kernel
     directly, so you need some additional software which knows how to
     talk to these devices using the SCSI protocol:
 
     For scanners, look at SANE (<http://www.sane-project.org/>). For CD
     writer software look at Cdrtools
     (<http://cdrtools.sourceforge.net/>)
     and for burning a "disk at once": CDRDAO
     (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
     quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
     For other devices, it's possible that you'll have to write the
     driver software yourself. Please read the file
     <file:Documentation/scsi/scsi-generic.rst> for more information.
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>. The module will be called sg.
 
     If unsure, say N.
 
config CHR_DEV_SCH
   tristate "SCSI media changer support"
   depends on SCSI
   help
     This is a driver for SCSI media changers.  Most common devices are
     tape libraries and MOD/CDROM jukeboxes.  *Real* jukeboxes, you
     don't need this for those tiny 6-slot cdrom changers.  Media
     changers are listed as "Type: Medium Changer" in /proc/scsi/scsi.
     If you have such hardware and want to use it with linux, say Y
     here.  Check <file:Documentation/scsi/scsi-changer.rst> for details.
   
     If you want to compile this as a module ( = code which can be
     inserted in and removed from the running kernel whenever you want),
     say M here and read <file:Documentation/kbuild/modules.rst> and
     <file:Documentation/scsi/scsi.rst>. The module will be called ch.o.
     If unsure, say N.
 
config SCSI_ENCLOSURE
   tristate "SCSI Enclosure Support"
   depends on SCSI && ENCLOSURE_SERVICES
   depends on m || SCSI_SAS_ATTRS != m
   help
     Enclosures are devices sitting on or in SCSI backplanes that
     manage devices.  If you have a disk cage, the chances are that
     it has an enclosure device.  Selecting this option will just allow
     certain enclosure conditions to be reported and is not required.
 
config SCSI_CONSTANTS
   bool "Verbose SCSI error reporting (kernel size += 36K)"
   depends on SCSI
   help
     The error messages regarding your SCSI hardware will be easier to
     understand if you say Y here; it will enlarge your kernel by about
     36 KB. If in doubt, say Y.
 
config SCSI_LOGGING
   bool "SCSI logging facility"
   depends on SCSI
   help
     This turns on a logging facility that can be used to debug a number
     of SCSI related problems.
 
     If you say Y here, no logging output will appear by default, but you
     can enable logging by saying Y to "/proc file system support" and
     "Sysctl support" below and executing the command
 
     echo <bitmask> > /proc/sys/dev/scsi/logging_level
 
     where <bitmask> is a four byte value representing the logging type
     and logging level for each type of logging selected.
 
     There are a number of logging types and you can find them in the
     source at <file:drivers/scsi/scsi_logging.h>. The logging levels
     are also described in that file and they determine the verbosity of
     the logging for each logging type.
 
     If you say N here, it may be harder to track down some types of SCSI
     problems. If you say Y here your kernel will be somewhat larger, but
     there should be no noticeable performance impact as long as you have
     logging turned off.
 
config SCSI_SCAN_ASYNC
   bool "Asynchronous SCSI scanning"
   depends on SCSI
   help
     The SCSI subsystem can probe for devices while the rest of the
     system continues booting, and even probe devices on different
     busses in parallel, leading to a significant speed-up.
 
     You can override this choice by specifying "scsi_mod.scan=sync"
     or async on the kernel's command line.
 
     Note that this setting also affects whether resuming from
     system suspend will be performed asynchronously.
 
menu "SCSI Transports"
   depends on SCSI
 
config SCSI_SPI_ATTRS
   tristate "Parallel SCSI (SPI) Transport Attributes"
   depends on SCSI
   help
     If you wish to export transport-specific information about
     each attached SCSI device to sysfs, say Y.  Otherwise, say N.
 
config SCSI_FC_ATTRS
   tristate "FiberChannel Transport Attributes"
   depends on SCSI && NET
   select BLK_DEV_BSGLIB
   select SCSI_NETLINK
   help
     If you wish to export transport-specific information about
     each attached FiberChannel device to sysfs, say Y.
     Otherwise, say N.
 
config SCSI_ISCSI_ATTRS
   tristate "iSCSI Transport Attributes"
   depends on SCSI && NET
   select BLK_DEV_BSGLIB
   help
     If you wish to export transport-specific information about
     each attached iSCSI device to sysfs, say Y.
     Otherwise, say N.
 
config SCSI_SAS_ATTRS
   tristate "SAS Transport Attributes"
   depends on SCSI
   select BLK_DEV_BSGLIB
   help
     If you wish to export transport-specific information about
     each attached SAS device to sysfs, say Y.
 
source "drivers/scsi/libsas/Kconfig"
 
config SCSI_SRP_ATTRS
   tristate "SRP Transport Attributes"
   depends on SCSI
   help
     If you wish to export transport-specific information about
     each attached SRP device to sysfs, say Y.
 
endmenu
 
menuconfig SCSI_LOWLEVEL
   bool "SCSI low-level drivers"
   depends on SCSI!=n
   default y
 
if SCSI_LOWLEVEL && SCSI
 
config ISCSI_TCP
   tristate "iSCSI Initiator over TCP/IP"
   depends on SCSI && INET
   select CRYPTO
   select CRYPTO_MD5
   select CRYPTO_CRC32C
   select SCSI_ISCSI_ATTRS
   help
    The iSCSI Driver provides a host with the ability to access storage
    through an IP network. The driver uses the iSCSI protocol to transport
    SCSI requests and responses over a TCP/IP network between the host
    (the "initiator") and "targets".  Architecturally, the iSCSI driver
    combines with the host's TCP/IP stack, network drivers, and Network
    Interface Card (NIC) to provide the same functions as a SCSI or a
    Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA).
 
    To compile this driver as a module, choose M here: the
    module will be called iscsi_tcp.
 
    The userspace component needed to initialize the driver, documentation,
    and sample configuration files can be found here:
 
    http://open-iscsi.org
 
config ISCSI_BOOT_SYSFS
   tristate "iSCSI Boot Sysfs Interface"
   default    n
   help
     This option enables support for exposing iSCSI boot information
     via sysfs to userspace. If you wish to export this information,
     say Y. Otherwise, say N.
 
source "drivers/scsi/cxgbi/Kconfig"
source "drivers/scsi/bnx2i/Kconfig"
source "drivers/scsi/bnx2fc/Kconfig"
source "drivers/scsi/be2iscsi/Kconfig"
source "drivers/scsi/cxlflash/Kconfig"
 
config SGIWD93_SCSI
   tristate "SGI WD93C93 SCSI Driver"
   depends on SGI_HAS_WD93 && SCSI
      help
     If you have a Western Digital WD93 SCSI controller on
     an SGI MIPS system, say Y.  Otherwise, say N.
 
config BLK_DEV_3W_XXXX_RAID
   tristate "3ware 5/6/7/8xxx ATA-RAID support"
   depends on PCI && SCSI
   help
     3ware is the only hardware ATA-Raid product in Linux to date.
     This card is 2,4, or 8 channel master mode support only.
     SCSI support required!!!
 
     <http://www.3ware.com/>
 
     Please read the comments at the top of
     <file:drivers/scsi/3w-xxxx.c>.
 
config SCSI_HPSA
   tristate "HP Smart Array SCSI driver"
   depends on PCI && SCSI
   select CHECK_SIGNATURE
   select SCSI_SAS_ATTRS
   help
     This driver supports HP Smart Array Controllers (circa 2009).
     It is a SCSI alternative to the cciss driver, which is a block
     driver.  Anyone wishing to use HP Smart Array controllers who
     would prefer the devices be presented to linux as SCSI devices,
     rather than as generic block devices should say Y here.
 
config SCSI_3W_9XXX
   tristate "3ware 9xxx SATA-RAID support"
   depends on PCI && SCSI
   help
     This driver supports the 9000 series 3ware SATA-RAID cards.
 
     <http://www.amcc.com>
 
     Please read the comments at the top of
     <file:drivers/scsi/3w-9xxx.c>.
 
config SCSI_3W_SAS
   tristate "3ware 97xx SAS/SATA-RAID support"
   depends on PCI && SCSI
   help
     This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards.
 
     <http://www.lsi.com>
 
     Please read the comments at the top of
     <file:drivers/scsi/3w-sas.c>.
 
config SCSI_ACARD
   tristate "ACARD SCSI support"
   depends on PCI && SCSI
   help
     This driver supports the ACARD SCSI host adapter.
     Support Chip <ATP870 ATP876 ATP880 ATP885>
     To compile this driver as a module, choose M here: the
     module will be called atp870u.
 
config SCSI_AHA152X
   tristate "Adaptec AHA152X/2825 support"
   depends on ISA && SCSI
   select SCSI_SPI_ATTRS
   select CHECK_SIGNATURE
   help
     This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825
     SCSI host adapters. It also works for the AVA-1505, but the IRQ etc.
     must be manually specified in this case.
 
     It is explained in section 3.3 of the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>. You might also want to
     read the file <file:Documentation/scsi/aha152x.rst>.
 
     To compile this driver as a module, choose M here: the
     module will be called aha152x.
 
config SCSI_AHA1542
   tristate "Adaptec AHA1542 support"
   depends on ISA && SCSI && ISA_DMA_API
   help
     This is support for a SCSI host adapter.  It is explained in section
     3.4 of the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.  Note that Trantor was
     purchased by Adaptec, and some former Trantor products are being
     sold under the Adaptec name.  If it doesn't work out of the box, you
     may have to change some settings in <file:drivers/scsi/aha1542.h>.
 
     To compile this driver as a module, choose M here: the
     module will be called aha1542.
 
config SCSI_AHA1740
   tristate "Adaptec AHA1740 support"
   depends on EISA && SCSI
   help
     This is support for a SCSI host adapter.  It is explained in section
     3.5 of the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.  If it doesn't work out
     of the box, you may have to change some settings in
     <file:drivers/scsi/aha1740.h>.
 
     To compile this driver as a module, choose M here: the
     module will be called aha1740.
 
config SCSI_AACRAID
   tristate "Adaptec AACRAID support"
   depends on SCSI && PCI
   help
     This driver supports a variety of Dell, HP, Adaptec, IBM and
     ICP storage products. For a list of supported products, refer
     to <file:Documentation/scsi/aacraid.rst>.
 
     To compile this driver as a module, choose M here: the module
     will be called aacraid.
 
 
source "drivers/scsi/aic7xxx/Kconfig.aic7xxx"
source "drivers/scsi/aic7xxx/Kconfig.aic79xx"
source "drivers/scsi/aic94xx/Kconfig"
source "drivers/scsi/hisi_sas/Kconfig"
source "drivers/scsi/mvsas/Kconfig"
 
config SCSI_MVUMI
   tristate "Marvell UMI driver"
   depends on SCSI && PCI
   help
     Module for Marvell Universal Message Interface(UMI) driver
 
     To compile this driver as a module, choose M here: the
     module will be called mvumi.
 
config SCSI_DPT_I2O
   tristate "Adaptec I2O RAID support "
   depends on SCSI && PCI
   help
     This driver supports all of Adaptec's I2O based RAID controllers as 
     well as the DPT SmartRaid V cards.  This is an Adaptec maintained
     driver by Deanna Bonds.  See <file:Documentation/scsi/dpti.rst>.
 
     To compile this driver as a module, choose M here: the
     module will be called dpt_i2o.
 
config SCSI_ADVANSYS
   tristate "AdvanSys SCSI support"
   depends on SCSI
   depends on ISA || EISA || PCI
   depends on ISA_DMA_API || !ISA
   help
     This is a driver for all SCSI host adapters manufactured by
     AdvanSys. It is documented in the kernel source in
     <file:drivers/scsi/advansys.c>.
 
     To compile this driver as a module, choose M here: the
     module will be called advansys.
 
config SCSI_ARCMSR
   tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter"
   depends on PCI && SCSI
   help
     This driver supports all of ARECA's SATA/SAS RAID controller cards.
     This is an ARECA-maintained driver by Erich Chen.
     If you have any problems, please mail to: <erich@areca.com.tw>.
     Areca supports Linux RAID config tools.
     Please link <http://www.areca.com.tw>
 
     To compile this driver as a module, choose M here: the
     module will be called arcmsr (modprobe arcmsr).
 
source "drivers/scsi/esas2r/Kconfig"
source "drivers/scsi/megaraid/Kconfig.megaraid"
source "drivers/scsi/mpt3sas/Kconfig"
source "drivers/scsi/smartpqi/Kconfig"
source "drivers/scsi/ufs/Kconfig"
 
config SCSI_HPTIOP
   tristate "HighPoint RocketRAID 3xxx/4xxx Controller support"
   depends on SCSI && PCI
   help
     This option enables support for HighPoint RocketRAID 3xxx/4xxx
     controllers.
 
     To compile this driver as a module, choose M here; the module
     will be called hptiop. If unsure, say N.
 
config SCSI_BUSLOGIC
   tristate "BusLogic SCSI support"
   depends on (PCI || ISA) && SCSI && ISA_DMA_API && VIRT_TO_BUS
   help
     This is support for BusLogic MultiMaster and FlashPoint SCSI Host
     Adapters. Consult the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>, and the files
     <file:Documentation/scsi/BusLogic.rst> and
     <file:Documentation/scsi/FlashPoint.rst> for more information.
     Note that support for FlashPoint is only available for 32-bit
     x86 configurations.
 
     To compile this driver as a module, choose M here: the
     module will be called BusLogic.
 
config SCSI_FLASHPOINT
   bool "FlashPoint support"
   depends on SCSI_BUSLOGIC && PCI
   help
     This option allows you to add FlashPoint support to the
     BusLogic SCSI driver. The FlashPoint SCCB Manager code is
     substantial, so users of MultiMaster Host Adapters may not
     wish to include it.
 
config SCSI_MYRB
   tristate "Mylex DAC960/DAC1100 PCI RAID Controller (Block Interface)"
   depends on PCI
   select RAID_ATTRS
   help
     This driver adds support for the Mylex DAC960, AcceleRAID, and
     eXtremeRAID PCI RAID controllers. This driver supports the
     older, block based interface.
     This driver is a reimplementation of the original DAC960
     driver. If you have used the DAC960 driver you should enable
     this module.
 
     To compile this driver as a module, choose M here: the
     module will be called myrb.
 
config SCSI_MYRS
   tristate "Mylex DAC960/DAC1100 PCI RAID Controller (SCSI Interface)"
   depends on PCI
   depends on !CPU_BIG_ENDIAN || COMPILE_TEST
   select RAID_ATTRS
   help
     This driver adds support for the Mylex DAC960, AcceleRAID, and
     eXtremeRAID PCI RAID controllers.  This driver supports the
     newer, SCSI-based interface only.
     This driver is a reimplementation of the original DAC960
     driver. If you have used the DAC960 driver you should enable
     this module.
 
     To compile this driver as a module, choose M here: the
     module will be called myrs.
 
config VMWARE_PVSCSI
   tristate "VMware PVSCSI driver support"
   depends on PCI && SCSI && X86
   help
     This driver supports VMware's para virtualized SCSI HBA.
     To compile this driver as a module, choose M here: the
     module will be called vmw_pvscsi.
 
config XEN_SCSI_FRONTEND
   tristate "XEN SCSI frontend driver"
   depends on SCSI && XEN
   select XEN_XENBUS_FRONTEND
   help
     The XEN SCSI frontend driver allows the kernel to access SCSI Devices
     within another guest OS (usually Dom0).
     Only needed if the kernel is running in a XEN guest and generic
     SCSI access to a device is needed.
 
config HYPERV_STORAGE
   tristate "Microsoft Hyper-V virtual storage driver"
   depends on SCSI && HYPERV
   depends on m || SCSI_FC_ATTRS != m
   default HYPERV
   help
     Select this option to enable the Hyper-V virtual storage driver.
 
config LIBFC
   tristate "LibFC module"
   depends on SCSI_FC_ATTRS
   select CRC32
   help
     Fibre Channel library module
 
config LIBFCOE
   tristate "LibFCoE module"
   depends on LIBFC
   help
     Library for Fibre Channel over Ethernet module
 
config FCOE
   tristate "FCoE module"
   depends on PCI
   depends on LIBFCOE
   help
     Fibre Channel over Ethernet module
 
config FCOE_FNIC
   tristate "Cisco FNIC Driver"
   depends on PCI && X86
   depends on LIBFCOE
   help
     This is support for the Cisco PCI-Express FCoE HBA.
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>.
     The module will be called fnic.
 
config SCSI_SNIC
   tristate "Cisco SNIC Driver"
   depends on PCI && SCSI
   help
     This is support for the Cisco PCI-Express SCSI HBA.
 
     To compile this driver as a module, choose M here and read
     <file:Documentation/scsi/scsi.rst>.
     The module will be called snic.
 
config SCSI_SNIC_DEBUG_FS
   bool "Cisco SNIC Driver Debugfs Support"
   depends on SCSI_SNIC && DEBUG_FS
   help
     This enables to list debugging information from SNIC Driver
     available via debugfs file system
 
config SCSI_DMX3191D
   tristate "DMX3191D SCSI support"
   depends on PCI && SCSI
   select SCSI_SPI_ATTRS
   help
     This is support for Domex DMX3191D SCSI Host Adapters.
 
     To compile this driver as a module, choose M here: the
     module will be called dmx3191d.
 
config SCSI_FDOMAIN
   tristate
   depends on SCSI
 
config SCSI_FDOMAIN_PCI
   tristate "Future Domain TMC-3260/AHA-2920A PCI SCSI support"
   depends on PCI && SCSI
   select SCSI_FDOMAIN
   help
     This is support for Future Domain's PCI SCSI host adapters (TMC-3260)
     and other adapters with PCI bus based on the Future Domain chipsets
     (Adaptec AHA-2920A).
 
     NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip
     and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI
     controller support"). This Future Domain driver works with the older
     Adaptec AHA-2920A boards with a Future Domain chip on them.
 
     To compile this driver as a module, choose M here: the
     module will be called fdomain_pci.
 
config SCSI_FDOMAIN_ISA
   tristate "Future Domain 16xx ISA SCSI support"
   depends on ISA && SCSI
   select CHECK_SIGNATURE
   select SCSI_FDOMAIN
   help
     This is support for Future Domain's 16-bit SCSI host adapters
     (TMC-1660/1680, TMC-1650/1670, TMC-1610M/MER/MEX) and other adapters
     with ISA bus based on the Future Domain chipsets (Quantum ISA-200S,
     ISA-250MG; and at least one IBM board).
 
     To compile this driver as a module, choose M here: the
     module will be called fdomain_isa.
 
config SCSI_GDTH
   tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support"
   depends on PCI && SCSI
   help
     Formerly called GDT SCSI Disk Array Controller Support.
 
     This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI) 
     manufactured by Intel Corporation/ICP vortex GmbH. It is documented
     in the kernel source in <file:drivers/scsi/gdth.c> and
     <file:drivers/scsi/gdth.h>.
 
     To compile this driver as a module, choose M here: the
     module will be called gdth.
 
config SCSI_ISCI
   tristate "Intel(R) C600 Series Chipset SAS Controller"
   depends on PCI && SCSI
   depends on X86
   select SCSI_SAS_LIBSAS
   help
     This driver supports the 6Gb/s SAS capabilities of the storage
     control unit found in the Intel(R) C600 series chipset.
 
config SCSI_GENERIC_NCR5380
   tristate "Generic NCR5380/53c400 SCSI ISA card support"
   depends on ISA && SCSI && HAS_IOPORT_MAP
   select SCSI_SPI_ATTRS
   help
     This is a driver for old ISA card SCSI controllers based on a
     NCR 5380, 53C80, 53C400, 53C400A, or DTC 436 device.
     Most boards such as the Trantor T130 fit this category, as do
     various 8-bit and 16-bit ISA cards bundled with SCSI scanners.
 
     To compile this driver as a module, choose M here: the
     module will be called g_NCR5380.
 
config SCSI_IPS
   tristate "IBM ServeRAID support"
   depends on PCI && SCSI
   help
     This is support for the IBM ServeRAID hardware RAID controllers.
     See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
     and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID>
     for more information.  If this driver does not work correctly
     without modification please contact the author by email at
     <ipslinux@adaptec.com>.
 
     To compile this driver as a module, choose M here: the
     module will be called ips.
 
config SCSI_IBMVSCSI
   tristate "IBM Virtual SCSI support"
   depends on PPC_PSERIES
   select SCSI_SRP_ATTRS
   help
     This is the IBM POWER Virtual SCSI Client
 
     To compile this driver as a module, choose M here: the
     module will be called ibmvscsi.
 
config SCSI_IBMVSCSIS
   tristate "IBM Virtual SCSI Server support"
   depends on PPC_PSERIES && TARGET_CORE && SCSI && PCI
   help
     This is the IBM POWER Virtual SCSI Target Server
     This driver uses the SRP protocol for communication between servers
     guest and/or the host that run on the same server.
     More information on VSCSI protocol can be found at www.power.org
 
     The userspace configuration needed to initialize the driver can be
     be found here:
 
     https://github.com/powervm/ibmvscsis/wiki/Configuration
 
     To compile this driver as a module, choose M here: the
     module will be called ibmvscsis.
 
config SCSI_IBMVFC
   tristate "IBM Virtual FC support"
   depends on PPC_PSERIES && SCSI
   depends on SCSI_FC_ATTRS
   help
     This is the IBM POWER Virtual FC Client
 
     To compile this driver as a module, choose M here: the
     module will be called ibmvfc.
 
config SCSI_IBMVFC_TRACE
   bool "enable driver internal trace"
   depends on SCSI_IBMVFC
   default y
   help
     If you say Y here, the driver will trace all commands issued
     to the adapter. Performance impact is minimal. Trace can be
     dumped using /sys/class/scsi_host/hostXX/trace.
 
config SCSI_INITIO
   tristate "Initio 9100U(W) support"
   depends on PCI && SCSI
   help
     This is support for the Initio 91XXU(W) SCSI host adapter.  Please
     read the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.
 
     To compile this driver as a module, choose M here: the
     module will be called initio.
 
config SCSI_INIA100
   tristate "Initio INI-A100U2W support"
   depends on PCI && SCSI
   help
     This is support for the Initio INI-A100U2W SCSI host adapter.
     Please read the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.
 
     To compile this driver as a module, choose M here: the
     module will be called a100u2w.
 
config SCSI_PPA
   tristate "IOMEGA parallel port (ppa - older drives)"
   depends on SCSI && PARPORT_PC
   help
     This driver supports older versions of IOMEGA's parallel port ZIP
     drive (a 100 MB removable media device).
 
     Note that you can say N here if you have the SCSI version of the ZIP
     drive: it will be supported automatically if you said Y to the
     generic "SCSI disk support", above.
 
     If you have the ZIP Plus drive or a more recent parallel port ZIP
     drive (if the supplied cable with the drive is labeled "AutoDetect")
     then you should say N here and Y to "IOMEGA parallel port (imm -
     newer drives)", below.
 
     For more information about this driver and how to use it you should
     read the file <file:Documentation/scsi/ppa.rst>.  You should also read
     the SCSI-HOWTO, which is available from
     <http://www.tldp.org/docs.html#howto>.  If you use this driver,
     you will still be able to use the parallel port for other tasks,
     such as a printer; it is safe to compile both drivers into the
     kernel.
 
     To compile this driver as a module, choose M here: the
     module will be called ppa.
 
config SCSI_IMM
   tristate "IOMEGA parallel port (imm - newer drives)"
   depends on SCSI && PARPORT_PC
   help
     This driver supports newer versions of IOMEGA's parallel port ZIP
     drive (a 100 MB removable media device).
 
     Note that you can say N here if you have the SCSI version of the ZIP
     drive: it will be supported automatically if you said Y to the
     generic "SCSI disk support", above.
 
     If you have the ZIP Plus drive or a more recent parallel port ZIP
     drive (if the supplied cable with the drive is labeled "AutoDetect")
     then you should say Y here; if you have an older ZIP drive, say N
     here and Y to "IOMEGA Parallel Port (ppa - older drives)", above.
 
     For more information about this driver and how to use it you should
     read the file <file:Documentation/scsi/ppa.rst>.  You should also read
     the SCSI-HOWTO, which is available from
     <http://www.tldp.org/docs.html#howto>.  If you use this driver,
     you will still be able to use the parallel port for other tasks,
     such as a printer; it is safe to compile both drivers into the
     kernel.
 
     To compile this driver as a module, choose M here: the
     module will be called imm.
 
config SCSI_IZIP_EPP16
   bool "ppa/imm option - Use slow (but safe) EPP-16"
   depends on SCSI_PPA || SCSI_IMM
   help
     EPP (Enhanced Parallel Port) is a standard for parallel ports which
     allows them to act as expansion buses that can handle up to 64
     peripheral devices.
 
     Some parallel port chipsets are slower than their motherboard, and
     so we have to control the state of the chipset's FIFO queue every
     now and then to avoid data loss. This will be done if you say Y
     here.
 
     Generally, saying Y is the safe option and slows things down a bit.
 
config SCSI_IZIP_SLOW_CTR
   bool "ppa/imm option - Assume slow parport control register"
   depends on SCSI_PPA || SCSI_IMM
   help
     Some parallel ports are known to have excessive delays between
     changing the parallel port control register and good data being
     available on the parallel port data/status register. This option
     forces a small delay (1.0 usec to be exact) after changing the
     control register to let things settle out. Enabling this option may
     result in a big drop in performance but some very old parallel ports
     (found in 386 vintage machines) will not work properly.
 
     Generally, saying N is fine.
 
config SCSI_LASI700
   tristate "HP Lasi SCSI support for 53c700/710"
   depends on GSC && SCSI
   select SCSI_SPI_ATTRS
   help
     This is a driver for the SCSI controller in the Lasi chip found in
     many PA-RISC workstations & servers.  If you do not know whether you
     have a Lasi chip, it is safe to say "Y" here.
 
config SCSI_SNI_53C710
   tristate "SNI RM SCSI support for 53c710"
   depends on SNI_RM && SCSI
   select SCSI_SPI_ATTRS
   select 53C700_LE_ON_BE
   help
     This is a driver for the onboard SCSI controller found in older
     SNI RM workstations & servers.
 
config 53C700_LE_ON_BE
   bool
   depends on SCSI_LASI700 || SCSI_SNI_53C710
   default y
 
config SCSI_STEX
   tristate "Promise SuperTrak EX Series support"
   depends on PCI && SCSI
   help
     This driver supports Promise SuperTrak EX series storage controllers.
 
     Promise provides Linux RAID configuration utility for these
     controllers. Please visit <http://www.promise.com> to download.
 
     To compile this driver as a module, choose M here: the
     module will be called stex.
 
config 53C700_BE_BUS
   bool
   depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI
   default y
 
config SCSI_SYM53C8XX_2
   tristate "SYM53C8XX Version 2 SCSI support"
   depends on PCI && SCSI
   select SCSI_SPI_ATTRS
   help
     This driver supports the whole NCR53C8XX/SYM53C8XX family of
     PCI-SCSI controllers.  It also supports the subset of LSI53C10XX
     Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS
     language.  It does not support LSI53C10XX Ultra-320 PCI-X SCSI
     controllers; you need to use the Fusion MPT driver for that.
 
     Please read <file:Documentation/scsi/sym53c8xx_2.rst> for more
     information.
 
config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   int "DMA addressing mode"
   depends on SCSI_SYM53C8XX_2
   default "1"
   help
     This option only applies to PCI-SCSI chips that are PCI DAC
     capable (875A, 895A, 896, 1010-33, 1010-66, 1000).
 
     When set to 0, the driver will program the chip to only perform
     32-bit DMA.  When set to 1, the chip will be able to perform DMA
     to addresses up to 1TB.  When set to 2, the driver supports the
     full 64-bit DMA address range, but can only address 16 segments
     of 4 GB each.  This limits the total addressable range to 64 GB.
 
     Most machines with less than 4GB of memory should use a setting
     of 0 for best performance.  If your machine has 4GB of memory
     or more, you should set this option to 1 (the default).
 
     The still experimental value 2 (64 bit DMA addressing with 16
     x 4GB segments limitation) can be used on systems that require
     PCI address bits past bit 39 to be set for the addressing of
     memory using PCI DAC cycles.
 
config SCSI_SYM53C8XX_DEFAULT_TAGS
   int "Default tagged command queue depth"
   depends on SCSI_SYM53C8XX_2
   default "16"
   help
     This is the default value of the command queue depth the
     driver will announce to the generic SCSI layer for devices
     that support tagged command queueing. This value can be changed
     from the boot command line.  This is a soft limit that cannot
     exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS.
 
config SCSI_SYM53C8XX_MAX_TAGS
   int "Maximum number of queued commands"
   depends on SCSI_SYM53C8XX_2
   default "64"
   help
     This option allows you to specify the maximum number of commands
     that can be queued to any device, when tagged command queuing is
     possible. The driver supports up to 256 queued commands per device.
     This value is used as a compiled-in hard limit.
 
config SCSI_SYM53C8XX_MMIO
   bool "Use memory mapped IO"
   depends on SCSI_SYM53C8XX_2
   default y
   help
     Memory mapped IO is faster than Port IO.  Most people should
     answer Y here, but some machines may have problems.  If you have
     to answer N here, please report the problem to the maintainer.
 
config SCSI_IPR
   tristate "IBM Power Linux RAID adapter support"
   depends on PCI && SCSI && ATA
   select SATA_HOST
   select FW_LOADER
   select IRQ_POLL
   select SGL_ALLOC
   help
     This driver supports the IBM Power Linux family RAID adapters.
     This includes IBM pSeries 5712, 5703, 5709, and 570A, as well
     as IBM iSeries 5702, 5703, 5709, and 570A.
 
config SCSI_IPR_TRACE
   bool "enable driver internal trace"
   depends on SCSI_IPR
   default y
   help
     If you say Y here, the driver will trace all commands issued
     to the adapter. Performance impact is minimal. Trace can be
     dumped using /sys/bus/class/scsi_host/hostXX/trace.
 
config SCSI_IPR_DUMP
   bool "enable adapter dump support"
   depends on SCSI_IPR
   default y
   help
     If you say Y here, the driver will support adapter crash dump.
     If you enable this support, the iprdump daemon can be used
     to capture adapter failure analysis information.
 
config SCSI_ZALON
   tristate "Zalon SCSI support"
   depends on GSC && SCSI
   select SCSI_SPI_ATTRS
   help
     The Zalon is a GSC/HSC bus interface chip that sits between the
     PA-RISC processor and the NCR 53c720 SCSI controller on C100,
     C110, J200, J210 and some D, K & R-class machines.  It's also
     used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
     Say Y here if you have one of these machines or cards.
 
config SCSI_NCR53C8XX_DEFAULT_TAGS
   int "default tagged command queue depth"
   depends on SCSI_ZALON
   default "8"
   help
     "Tagged command queuing" is a feature of SCSI-2 which improves
     performance: the host adapter can send several SCSI commands to a
     device's queue even if previous commands haven't finished yet.
     Because the device is intelligent, it can optimize its operations
     (like head positioning) based on its own request queue. Some SCSI
     devices don't implement this properly; if you want to disable this
     feature, enter 0 or 1 here (it doesn't matter which).
 
     The default value is 8 and should be supported by most hard disks.
     This value can be overridden from the boot command line using the
     'tags' option as follows (example):
     'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to
     4, set queue depth to 16 for target 2 and target 3 on controller 0
     and set queue depth to 10 for target 0 / lun 2 on controller 1.
 
     The normal answer therefore is to go with the default 8 and to use
     a boot command line option for devices that need to use a different
     command queue depth.
 
     There is no safe option other than using good SCSI devices.
 
config SCSI_NCR53C8XX_MAX_TAGS
   int "maximum number of queued commands"
   depends on SCSI_ZALON
   default "32"
   help
     This option allows you to specify the maximum number of commands
     that can be queued to any device, when tagged command queuing is
     possible. The default value is 32. Minimum is 2, maximum is 64.
     Modern hard disks are able to support 64 tags and even more, but
     do not seem to be faster when more than 32 tags are being used.
 
     So, the normal answer here is to go with the default value 32 unless
     you are using very large hard disks with large cache (>= 1 MB) that
     are able to take advantage of more than 32 tagged commands.
 
     There is no safe option and the default answer is recommended.
 
config SCSI_NCR53C8XX_SYNC
   int "synchronous transfers frequency in MHz"
   depends on SCSI_ZALON
   default "20"
   help
     The SCSI Parallel Interface-2 Standard defines 5 classes of transfer
     rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80.  The numbers
     are respectively the maximum data transfer rates in mega-transfers
     per second for each class.  For example, a FAST-20 Wide 16 device is
     able to transfer data at 20 million 16 bit packets per second for a
     total rate of 40 MB/s.
 
     You may specify 0 if you want to only use asynchronous data
     transfers. This is the safest and slowest option. Otherwise, specify
     a value between 5 and 80, depending on the capability of your SCSI
     controller.  The higher the number, the faster the data transfer.
     Note that 80 should normally be ok since the driver decreases the
     value automatically according to the controller's capabilities.
 
     Your answer to this question is ignored for controllers with NVRAM,
     since the driver will get this information from the user set-up.  It
     also can be overridden using a boot setup option, as follows
     (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate
     for FAST-20 synchronous data transfer (20 mega-transfers per
     second).
 
     The normal answer therefore is not to go with the default but to
     select the maximum value 80 allowing the driver to use the maximum
     value supported by each controller. If this causes problems with
     your SCSI devices, you should come back and decrease the value.
 
     There is no safe option other than using good cabling, right
     terminations and SCSI conformant devices.
 
config SCSI_NCR53C8XX_NO_DISCONNECT
   bool "not allow targets to disconnect"
   depends on SCSI_ZALON && SCSI_NCR53C8XX_DEFAULT_TAGS=0
   help
     This option is only provided for safety if you suspect some SCSI
     device of yours to not support properly the target-disconnect
     feature. In that case, you would say Y here. In general however, to
     not allow targets to disconnect is not reasonable if there is more
     than 1 device on a SCSI bus. The normal answer therefore is N.
 
config SCSI_QLOGIC_FAS
   tristate "Qlogic FAS SCSI support"
   depends on ISA && SCSI
   help
     This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic
     FastSCSI! cards as well as any other card based on the FASXX chip
     (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).
 
     This driver does NOT support the PCI versions of these cards. The
     PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP
     SCSI support"), below.
 
     Information about this driver is contained in
     <file:Documentation/scsi/qlogicfas.rst>.  You should also read the
     SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.
 
     To compile this driver as a module, choose M here: the
     module will be called qlogicfas.
 
config SCSI_QLOGIC_1280
   tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
   depends on PCI && SCSI
   help
     Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter.
 
     To compile this driver as a module, choose M here: the
     module will be called qla1280.
 
config SCSI_QLOGICPTI
   tristate "PTI Qlogic, ISP Driver"
   depends on SBUS && SCSI
   help
     This driver supports SBUS SCSI controllers from PTI or QLogic. These
     controllers are known under Solaris as qpti and in the openprom as
     PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are
     driven by a different driver.
 
     To compile this driver as a module, choose M here: the
     module will be called qlogicpti.
 
source "drivers/scsi/qla2xxx/Kconfig"
source "drivers/scsi/qla4xxx/Kconfig"
source "drivers/scsi/qedi/Kconfig"
source "drivers/scsi/qedf/Kconfig"
 
config SCSI_LPFC
   tristate "Emulex LightPulse Fibre Channel Support"
   depends on PCI && SCSI
   depends on CPU_FREQ
   depends on SCSI_FC_ATTRS
   depends on NVME_TARGET_FC || NVME_TARGET_FC=n
   depends on NVME_FC || NVME_FC=n
   select CRC_T10DIF
   help
          This lpfc driver supports the Emulex LightPulse
          Family of Fibre Channel PCI host adapters.
 
config SCSI_LPFC_DEBUG_FS
   bool "Emulex LightPulse Fibre Channel debugfs Support"
   depends on SCSI_LPFC && DEBUG_FS
   help
     This makes debugging information from the lpfc driver
     available via the debugfs filesystem.
 
config SCSI_SIM710
   tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
   depends on EISA && SCSI
   select SCSI_SPI_ATTRS
   help
     This driver is for NCR53c710 based SCSI host adapters.
 
     It currently supports Compaq EISA cards.
 
config SCSI_DC395x
   tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
   depends on PCI && SCSI
   help
     This driver supports PCI SCSI host adapters based on the ASIC
     TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
 
     This driver works, but is still in experimental status. So better
     have a bootable disk and a backup in case of emergency.
 
     Documentation can be found in <file:Documentation/scsi/dc395x.rst>.
 
     To compile this driver as a module, choose M here: the
     module will be called dc395x.
 
config SCSI_AM53C974
   tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)"
   depends on PCI && SCSI
   select SCSI_SPI_ATTRS
   help
     This driver supports PCI SCSI host adapters based on the Am53C974A
     chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard
     PCscsi/PCnet (Am53/79C974) solutions.
     This is a new implementation base on the generic esp_scsi driver.
 
     Note that this driver does NOT support Tekram DC390W/U/F, which are
     based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those.
 
     To compile this driver as a module, choose M here: the
     module will be called am53c974.
 
config SCSI_NSP32
   tristate "Workbit NinjaSCSI-32Bi/UDE support"
   depends on PCI && SCSI && !64BIT
   help
     This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
     SCSI host adapter. Please read the SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.
 
     To compile this driver as a module, choose M here: the
     module will be called nsp32.
 
config SCSI_WD719X
   tristate "Western Digital WD7193/7197/7296 support"
   depends on PCI && SCSI
   select EEPROM_93CX6
   help
     This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI
     SCSI controllers (based on WD33C296A chip).
 
config SCSI_DEBUG
   tristate "SCSI debugging host and device simulator"
   depends on SCSI
   select CRC_T10DIF
   help
     This pseudo driver simulates one or more hosts (SCSI initiators),
     each with one or more targets, each with one or more logical units.
     Defaults to one of each, creating a small RAM disk device. Many
     parameters found in the /sys/bus/pseudo/drivers/scsi_debug
     directory can be tweaked at run time.
     See <http://sg.danny.cz/sg/sdebug26.html> for more information.
     Mainly used for testing and best as a module. If unsure, say N.
 
config SCSI_MESH
   tristate "MESH (Power Mac internal SCSI) support"
   depends on PPC32 && PPC_PMAC && SCSI
   help
     Many Power Macintoshes and clones have a MESH (Macintosh Enhanced
     SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the
     other Power Macintoshes do). Say Y to include support for this SCSI
     adaptor.
 
     To compile this driver as a module, choose M here: the
     module will be called mesh.
 
config SCSI_MESH_SYNC_RATE
   int "maximum synchronous transfer rate (MB/s) (0 = async)"
   depends on SCSI_MESH
   default "5"
   help
     On Power Macintoshes (and clones) where the MESH SCSI bus adaptor
     drives a bus which is entirely internal to the machine (such as the
     7500, 7600, 8500, etc.), the MESH is capable of synchronous
     operation at up to 10 MB/s. On machines where the SCSI bus
     controlled by the MESH can have external devices connected, it is
     usually rated at 5 MB/s. 5 is a safe value here unless you know the
     MESH SCSI bus is internal only; in that case you can say 10. Say 0
     to disable synchronous operation.
 
config SCSI_MESH_RESET_DELAY_MS
   int "initial bus reset delay (ms) (0 = no reset)"
   depends on SCSI_MESH
   default "4000"
 
config SCSI_MAC53C94
   tristate "53C94 (Power Mac external SCSI) support"
   depends on PPC32 && PPC_PMAC && SCSI
   help
     On Power Macintoshes (and clones) with two SCSI buses, the external
     SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older
     machines which only have one SCSI bus, such as the 7200, also use
     the 53C94. Say Y to include support for the 53C94.
 
     To compile this driver as a module, choose M here: the
     module will be called mac53c94.
 
source "drivers/scsi/arm/Kconfig"
 
config JAZZ_ESP
   bool "MIPS JAZZ FAS216 SCSI support"
   depends on MACH_JAZZ && SCSI
   select SCSI_SPI_ATTRS
   help
     This is the driver for the onboard SCSI host adapter of MIPS Magnum
     4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
     systems.
 
config A3000_SCSI
   tristate "A3000 WD33C93A support"
   depends on AMIGA && SCSI
   help
     If you have an Amiga 3000 and have SCSI devices connected to the
     built-in SCSI controller, say Y. Otherwise, say N.
 
     To compile this driver as a module, choose M here: the
     module will be called a3000.
 
config A2091_SCSI
   tristate "A2091/A590 WD33C93A support"
   depends on ZORRO && SCSI
   help
     If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
     say N.
 
     To compile this driver as a module, choose M here: the
     module will be called a2091.
 
config GVP11_SCSI
   tristate "GVP Series II WD33C93A support"
   depends on ZORRO && SCSI
   help
     If you have a Great Valley Products Series II SCSI controller,
     answer Y. Also say Y if you have a later model of GVP SCSI
     controller (such as the GVP A4008 or a Combo board). Otherwise,
     answer N. This driver does NOT work for the T-Rex series of
     accelerators from TekMagic and GVP-M.
 
     To compile this driver as a module, choose M here: the
     module will be called gvp11.
 
config SCSI_A4000T
   tristate "A4000T NCR53c710 SCSI support"
   depends on AMIGA && SCSI
   select SCSI_SPI_ATTRS
   help
     If you have an Amiga 4000T and have SCSI devices connected to the
     built-in SCSI controller, say Y. Otherwise, say N.
 
     To compile this driver as a module, choose M here: the
     module will be called a4000t.
 
config SCSI_ZORRO7XX
   tristate "Zorro NCR53c710 SCSI support"
   depends on ZORRO && SCSI
   select SCSI_SPI_ATTRS
   help
     Support for various NCR53c710-based SCSI controllers on Zorro
     expansion boards for the Amiga.
     This includes:
       - the Amiga 4091 Zorro III SCSI-2 controller,
       - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
         (info at
         <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>),
       - the SCSI controller on the Phase5 Blizzard PowerUP 603e+
         accelerator card for the Amiga 1200,
       - the SCSI controller on the GVP Turbo 040/060 accelerator.
 
config SCSI_ZORRO_ESP
   tristate "Zorro ESP SCSI support"
   depends on ZORRO && SCSI
   select SCSI_SPI_ATTRS
   select SCSI_ESP_PIO
   help
     Support for various NCR53C9x (ESP) based SCSI controllers on Zorro
     expansion boards for the Amiga.
     This includes:
       - the Phase5 Blizzard 1230 II and IV SCSI controllers,
       - the Phase5 Blizzard 2060 SCSI controller,
       - the Phase5 Blizzard Cyberstorm and Cyberstorm II SCSI
         controllers,
       - the Fastlane Zorro III SCSI controller.
 
config ATARI_SCSI
   tristate "Atari native SCSI support"
   depends on ATARI && SCSI
   select SCSI_SPI_ATTRS
   help
     If you have an Atari with built-in NCR5380 SCSI controller (TT,
     Falcon, ...) say Y to get it supported. Of course also, if you have
     a compatible SCSI controller (e.g. for Medusa).
 
     To compile this driver as a module, choose M here: the module will
     be called atari_scsi. If you also enable NVRAM support, the SCSI
     host's ID is taken from the setting in TT RTC NVRAM.
 
     This driver supports both styles of NCR integration into the
     system: the TT style (separate DMA), and the Falcon style (via
     ST-DMA, replacing ACSI).  It does NOT support other schemes, like
     in the Hades (without DMA).
 
config MAC_SCSI
   tristate "Macintosh NCR5380 SCSI"
   depends on MAC && SCSI
   select SCSI_SPI_ATTRS
   help
     This is the NCR 5380 SCSI controller included on most of the 68030
     based Macintoshes.  If you have one of these say Y and read the
     SCSI-HOWTO, available from
     <http://www.tldp.org/docs.html#howto>.
 
config SCSI_MAC_ESP
   tristate "Macintosh NCR53c9[46] SCSI"
   depends on MAC && SCSI
   select SCSI_SPI_ATTRS
   select SCSI_ESP_PIO
   help
     This is the NCR 53c9x SCSI controller found on most of the 68040
     based Macintoshes.
 
     To compile this driver as a module, choose M here: the module
     will be called mac_esp.
 
config MVME147_SCSI
   bool "WD33C93 SCSI driver for MVME147"
   depends on MVME147 && SCSI=y
   select SCSI_SPI_ATTRS
   help
     Support for the on-board SCSI controller on the Motorola MVME147
     single-board computer.
 
config MVME16x_SCSI
   tristate "NCR53C710 SCSI driver for MVME16x"
   depends on MVME16x && SCSI
   select SCSI_SPI_ATTRS
   help
     The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
     SCSI controller chip.  Almost everyone using one of these boards
     will want to say Y to this question.
 
config BVME6000_SCSI
   tristate "NCR53C710 SCSI driver for BVME6000"
   depends on BVME6000 && SCSI
   select SCSI_SPI_ATTRS
   help
     The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
     SCSI controller chip.  Almost everyone using one of these boards
     will want to say Y to this question.
 
config SUN3_SCSI
   tristate "Sun3 NCR5380 SCSI"
   depends on SUN3 && SCSI
   select SCSI_SPI_ATTRS
   help
     This option will enable support for the OBIO (onboard io) NCR5380
     SCSI controller found in the Sun 3/50 and 3/60, as well as for
     "Sun3" type VME scsi controllers also based on the NCR5380.
     General Linux information on the Sun 3 series (now discontinued)
     is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
 
config SUN3X_ESP
   bool "Sun3x ESP SCSI"
   depends on SUN3X && SCSI=y
   select SCSI_SPI_ATTRS
   help
     The ESP was an on-board SCSI controller used on Sun 3/80
     machines.  Say Y here to compile in support for it.
 
config SCSI_SUNESP
   tristate "Sparc ESP Scsi Driver"
   depends on SBUS && SCSI
   select SCSI_SPI_ATTRS
   help
     This is the driver for the Sun ESP SCSI host adapter. The ESP
     chipset is present in most SPARC SBUS-based computers and
     supports the Emulex family of ESP SCSI chips (esp100, esp100A,
     esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
 
     To compile this driver as a module, choose M here: the
     module will be called sun_esp.
 
config ZFCP
   tristate "FCP host bus adapter driver for IBM mainframes"
   depends on S390 && QDIO && SCSI
   depends on SCSI_FC_ATTRS
   help
     If you want to access SCSI devices attached to your IBM mainframe by
     means of Fibre Channel Protocol host bus adapters say Y.
 
     Supported HBAs include different models of the FICON Express and FCP
     Express I/O cards.
 
     For a more complete list, and for more details about setup and
     operation refer to the IBM publication "Device Drivers, Features, and
     Commands", SC33-8411.
 
          This driver is also available as a module. This module will be
          called zfcp. If you want to compile it as a module, say M here
          and read <file:Documentation/kbuild/modules.rst>.
 
config SCSI_PMCRAID
   tristate "PMC SIERRA Linux MaxRAID adapter support"
   depends on PCI && SCSI && NET
   select SGL_ALLOC
   help
     This driver supports the PMC SIERRA MaxRAID adapters.
 
config SCSI_PM8001
   tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
   depends on PCI && SCSI
   select SCSI_SAS_LIBSAS
   help
     This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
     based host adapters.
 
config SCSI_BFA_FC
   tristate "Brocade BFA Fibre Channel Support"
   depends on PCI && SCSI
   depends on SCSI_FC_ATTRS
   help
     This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
 
     To compile this driver as a module, choose M here. The module will
     be called bfa.
 
config SCSI_VIRTIO
   tristate "virtio-scsi support"
   depends on VIRTIO
   help
          This is the virtual HBA driver for virtio.  If the kernel will
          be used in a virtual machine, say Y or M.
 
source "drivers/scsi/csiostor/Kconfig"
 
source "drivers/scsi/pcmcia/Kconfig"
 
endif # SCSI_LOWLEVEL
 
source "drivers/scsi/device_handler/Kconfig"
 
endmenu