SCSI Configuration Patch

Stefan Reinauer (stepan@freiburg.linux.de)
Thu, 4 Dec 1997 23:15:53 +0100


Hi together!

When I was recently reconfiguring the Linux Kernel on one of my machines,
I noticed how many SCSI drivers are available and how hard it is, to get
an overview when not looking at it closely.
There were even some little bugs in the Config.in file which made
one PCI SCSI Card driver available when compiling the Kernel without PCI
support.
The result is now this little Patch which makes Configuration of the
Linux SCSI Part a lot of easier (I think).

PLEASE NOTE: I forced some SCSI drivers into groups of PCI/NON-PCI
drivers. I am not sure wether all PCI Drivers are listed in the PCI
Adapters Menu and all others to be in the NON-PCI Adapters Section.
Please, could someone have a look at that.

This is only an idea how to make kernel configuration a bit easier.

Now, guys, as alwas: Send me your flames and ideas :-))

Stefan

--
All extremists should be taken out and shot.

------------------------ 8< --------------------------------------------

--- Config.in.old Thu Dec 4 21:56:21 1997 +++ Config.in Thu Dec 4 23:05:40 1997 @@ -17,102 +17,137 @@ mainmenu_option next_comment comment 'SCSI low-level drivers' -dep_tristate '7000FASST SCSI support' CONFIG_SCSI_7000FASST $CONFIG_SCSI -dep_tristate 'Adaptec AHA152X/2825 support' CONFIG_SCSI_AHA152X $CONFIG_SCSI -dep_tristate 'Adaptec AHA1542 support' CONFIG_SCSI_AHA1542 $CONFIG_SCSI -dep_tristate 'Adaptec AHA1740 support' CONFIG_SCSI_AHA1740 $CONFIG_SCSI -dep_tristate 'Adaptec AIC7xxx support' CONFIG_SCSI_AIC7XXX $CONFIG_SCSI -if [ "$CONFIG_SCSI_AIC7XXX" != "n" ]; then - bool ' Enable tagged command queueing' CONFIG_AIC7XXX_TAGGED_QUEUEING Y - dep_tristate ' Override driver defaults for commands per LUN' CONFIG_OVERRIDE_CMDS N - if [ "$CONFIG_OVERRIDE_CMDS" != "n" ]; then - int ' Maximum number of commands per LUN' CONFIG_AIC7XXX_CMDS_PER_LUN 8 - fi - bool ' Enable SCB paging' CONFIG_AIC7XXX_PAGE_ENABLE N - bool ' Collect statistics to report in /proc' CONFIG_AIC7XXX_PROC_STATS N - int ' Delay in seconds after SCSI bus reset' CONFIG_AIC7XXX_RESET_DELAY 15 -fi -dep_tristate 'AdvanSys SCSI support' CONFIG_SCSI_ADVANSYS $CONFIG_SCSI -dep_tristate 'Always IN2000 SCSI support' CONFIG_SCSI_IN2000 $CONFIG_SCSI -dep_tristate 'AM53/79C974 PCI SCSI support' CONFIG_SCSI_AM53C974 $CONFIG_SCSI -dep_tristate 'BusLogic SCSI support' CONFIG_SCSI_BUSLOGIC $CONFIG_SCSI -if [ "$CONFIG_SCSI_BUSLOGIC" != "n" ]; then - bool ' Omit FlashPoint support' CONFIG_SCSI_OMIT_FLASHPOINT +bool 'Adaptec Host Adapters' CONFIG_SCSI_ADAPTEC N +if [ "$CONFIG_SCSI_ADAPTEC" != "n" ]; then + dep_tristate 'Adaptec AHA152X/2825 support' CONFIG_SCSI_AHA152X $CONFIG_SCSI + dep_tristate 'Adaptec AHA1542 support' CONFIG_SCSI_AHA1542 $CONFIG_SCSI + dep_tristate 'Adaptec AHA1740 support' CONFIG_SCSI_AHA1740 $CONFIG_SCSI + dep_tristate 'Adaptec AIC7xxx support' CONFIG_SCSI_AIC7XXX $CONFIG_SCSI + if [ "$CONFIG_SCSI_AIC7XXX" != "n" ]; then + bool ' Enable tagged command queueing' CONFIG_AIC7XXX_TAGGED_QUEUEING Y + dep_tristate ' Override driver defaults for commands per LUN' CONFIG_OVERRIDE_CMDS N + if [ "$CONFIG_OVERRIDE_CMDS" != "n" ]; then + int ' Maximum number of commands per LUN' CONFIG_AIC7XXX_CMDS_PER_LUN 8 + fi + bool ' Enable SCB paging' CONFIG_AIC7XXX_PAGE_ENABLE N + bool ' Collect statistics to report in /proc' CONFIG_AIC7XXX_PROC_STATS N + int ' Delay in seconds after SCSI bus reset' CONFIG_AIC7XXX_RESET_DELAY 15 + fi fi -dep_tristate 'DTC3180/3280 SCSI support' CONFIG_SCSI_DTC3280 $CONFIG_SCSI -dep_tristate 'EATA-DMA (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix) support' CONFIG_SCSI_EATA_DMA $CONFIG_SCSI -dep_tristate 'EATA-PIO (old DPT PM2001, PM2012A) support' CONFIG_SCSI_EATA_PIO $CONFIG_SCSI -dep_tristate 'EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) support' CONFIG_SCSI_EATA $CONFIG_SCSI + +bool 'EATA Host Adapters' CONFIG_SCSI_EATA_ADAPTERS N +if [ "$CONFIG_SCSI_EATA_ADAPTERS" != "n" ]; then + dep_tristate 'EATA-DMA (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix) support' CONFIG_SCSI_EATA_DMA $CONFIG_SCSI + dep_tristate 'EATA-PIO (old DPT PM2001, PM2012A) support' CONFIG_SCSI_EATA_PIO $CONFIG_SCSI + dep_tristate 'EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) support' CONFIG_SCSI_EATA $CONFIG_SCSI if [ "$CONFIG_SCSI_EATA" != "n" ]; then bool ' enable tagged command queueing' CONFIG_SCSI_EATA_TAGGED_QUEUE bool ' enable elevator sorting' CONFIG_SCSI_EATA_LINKED_COMMANDS int ' maximum number of queued commands' CONFIG_SCSI_EATA_MAX_TAGS 16 fi -dep_tristate 'Future Domain 16xx SCSI/AHA 2920 support' CONFIG_SCSI_FUTURE_DOMAIN $CONFIG_SCSI -dep_tristate 'GDT SCSI Disk Array Controller support' CONFIG_SCSI_GDTH $CONFIG_SCSI -dep_tristate 'Generic NCR5380/53c400 SCSI support' CONFIG_SCSI_GENERIC_NCR5380 $CONFIG_SCSI -if [ "$CONFIG_SCSI_GENERIC_NCR5380" != "n" ]; then - bool ' Enable NCR53c400 extensions' CONFIG_SCSI_GENERIC_NCR53C400 - choice 'NCR5380/53c400 mapping method (use Port for T130B)' \ - "Port CONFIG_SCSI_G_NCR5380_PORT \ - Memory CONFIG_SCSI_G_NCR5380_MEM" Port + dep_tristate 'Future Domain 16xx SCSI/AHA 2920 support' CONFIG_SCSI_FUTURE_DOMAIN $CONFIG_SCSI + dep_tristate 'GDT SCSI Disk Array Controller support' CONFIG_SCSI_GDTH $CONFIG_SCSI fi -dep_tristate 'NCR53c406a SCSI support' CONFIG_SCSI_NCR53C406A $CONFIG_SCSI -if [ "$CONFIG_PCI" = "y" ]; then - dep_tristate 'NCR53c7,8xx SCSI support' CONFIG_SCSI_NCR53C7xx $CONFIG_SCSI - if [ "$CONFIG_SCSI_NCR53C7xx" != "n" ]; then - bool ' always negotiate synchronous transfers' CONFIG_SCSI_NCR53C7xx_sync - bool ' allow FAST-SCSI [10MHz]' CONFIG_SCSI_NCR53C7xx_FAST - bool ' allow DISCONNECT' CONFIG_SCSI_NCR53C7xx_DISCONNECT - fi -fi -if [ "$CONFIG_PCI" = "y" -a "$CONFIG_SCSI_NCR53C7xx" != "y" ]; then - dep_tristate 'NCR53C8XX SCSI support' CONFIG_SCSI_NCR53C8XX $CONFIG_SCSI - if [ "$CONFIG_SCSI_NCR53C8XX" != "n" ]; then - bool ' detect and read serial NVRAMs' CONFIG_SCSI_NCR53C8XX_NVRAM_DETECT - bool ' enable tagged command queueing' CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE - bool ' use normal IO' CONFIG_SCSI_NCR53C8XX_IOMAPPED - int ' maximum number of queued commands' CONFIG_SCSI_NCR53C8XX_MAX_TAGS 4 - int ' synchronous transfers frequency in MHz' CONFIG_SCSI_NCR53C8XX_SYNC 5 - if [ "$CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE" != "y" ]; then - bool ' not allow targets to disconnect' CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT + +bool 'SYMBIOS Logic (NCR) Host Adapters' CONFIG_SCSI_SYMBIOS N +if [ "$CONFIG_SCSI_SYMBIOS" != "n" ]; then + dep_tristate 'Generic NCR5380/53c400 SCSI support' CONFIG_SCSI_GENERIC_NCR5380 $CONFIG_SCSI + if [ "$CONFIG_SCSI_GENERIC_NCR5380" != "n" ]; then + bool ' Enable NCR53c400 extensions' CONFIG_SCSI_GENERIC_NCR53C400 + choice 'NCR5380/53c400 mapping method (use Port for T130B)' \ + "Port CONFIG_SCSI_G_NCR5380_PORT \ + Memory CONFIG_SCSI_G_NCR5380_MEM" Port + fi + dep_tristate 'NCR53c406a SCSI support' CONFIG_SCSI_NCR53C406A $CONFIG_SCSI + if [ "$CONFIG_PCI" = "y" ]; then + dep_tristate 'NCR53c7,8xx SCSI support' CONFIG_SCSI_NCR53C7xx $CONFIG_SCSI + if [ "$CONFIG_SCSI_NCR53C7xx" != "n" ]; then + bool ' always negotiate synchronous transfers' CONFIG_SCSI_NCR53C7xx_sync + bool ' allow FAST-SCSI [10MHz]' CONFIG_SCSI_NCR53C7xx_FAST + bool ' allow DISCONNECT' CONFIG_SCSI_NCR53C7xx_DISCONNECT + fi + fi + if [ "$CONFIG_PCI" = "y" -a "$CONFIG_SCSI_NCR53C7xx" != "y" ]; then + dep_tristate 'NCR53C8XX SCSI support' CONFIG_SCSI_NCR53C8XX $CONFIG_SCSI + if [ "$CONFIG_SCSI_NCR53C8XX" != "n" ]; then + bool ' detect and read serial NVRAMs' CONFIG_SCSI_NCR53C8XX_NVRAM_DETECT + bool ' enable tagged command queueing' CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE + bool ' use normal IO' CONFIG_SCSI_NCR53C8XX_IOMAPPED + int ' maximum number of queued commands' CONFIG_SCSI_NCR53C8XX_MAX_TAGS 4 + int ' synchronous transfers frequency in MHz' CONFIG_SCSI_NCR53C8XX_SYNC 5 + if [ "$CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE" != "y" ]; then + bool ' not allow targets to disconnect' CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT + fi + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + bool ' assume boards are SYMBIOS compatible' CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT + fi + fi + fi +fi + +bool 'QLogic Host Adapters' CONFIG_SCSI_QLOGIC N +if [ "$CONFIG_SCSI_QLOGIC" != "n" ]; then + dep_tristate 'Qlogic FAS SCSI support' CONFIG_SCSI_QLOGIC_FAS $CONFIG_SCSI + if [ "$CONFIG_PCI" = "y" ]; then + dep_tristate 'Qlogic ISP SCSI support' CONFIG_SCSI_QLOGIC_ISP $CONFIG_SCSI + fi +fi + +bool 'UltraStor Host Adapters' CONFIG_SCSI_USTOR N +if [ "$CONFIG_SCSI_USTOR" != "n" ]; then + dep_tristate 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F $CONFIG_SCSI + if [ "$CONFIG_SCSI_U14_34F" != "n" ]; then + bool ' enable elevator sorting' CONFIG_SCSI_U14_34F_LINKED_COMMANDS + int ' maximum number of queued commands' CONFIG_SCSI_U14_34F_MAX_TAGS 8 fi - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then - bool ' assume boards are SYMBIOS compatible' CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT + dep_tristate 'UltraStor SCSI support' CONFIG_SCSI_ULTRASTOR $CONFIG_SCSI +fi + +if [ "$CONFIG_PCI" = "y" ]; then + bool 'Other PCI SCSI Host Adapters' CONFIG_SCSI_PCI N + if [ "$CONFIG_SCSI_PCI" != "n" ]; then + dep_tristate 'AM53/79C974 PCI SCSI support' CONFIG_SCSI_AM53C974 $CONFIG_SCSI + dep_tristate 'PAS16 SCSI support' CONFIG_SCSI_PAS16 $CONFIG_SCSI + dep_tristate 'PCI2000 support' CONFIG_SCSI_PCI2000 $CONFIG_SCSI + dep_tristate 'PCI2220i support' CONFIG_SCSI_PCI2220I $CONFIG_SCSI + dep_tristate 'PSI240i support' CONFIG_SCSI_PSI240I $CONFIG_SCSI + if [ "$CONFIG_SCSI_AM53C974" != "y" ]; then + dep_tristate 'Tekram DC-390(T) (AMD PCscsi) SCSI support' CONFIG_SCSI_DC390T $CONFIG_SCSI fi fi fi + if [ "$CONFIG_MCA" = "y" ]; then dep_tristate 'IBMMCA SCSI support' CONFIG_SCSI_IBMMCA $CONFIG_SCSI if [ "$CONFIG_SCSI_IBMMCA" != "n" ]; then bool ' reset SCSI-devices while booting' CONFIG_SCSI_IBMMCA_DEV_RESET fi fi -if [ "$CONFIG_PARPORT" != "n" ]; then - dep_tristate 'IOMEGA Parallel Port ZIP drive SCSI support' CONFIG_SCSI_PPA $CONFIG_SCSI $CONFIG_PARPORT - if [ "$CONFIG_SCSI_PPA" != "n" ]; then - int ' Pedantic EPP-checking' CONFIG_SCSI_PPA_HAVE_PEDANTIC 2 0 3 + +bool 'Other SCSI Host Adapters' CONFIG_SCSI_NONPCI N +if [ "$CONFIG_SCSI_NONPCI" != "n" ]; then + dep_tristate '7000FASST SCSI support' CONFIG_SCSI_7000FASST $CONFIG_SCSI + dep_tristate 'AdvanSys SCSI support' CONFIG_SCSI_ADVANSYS $CONFIG_SCSI + dep_tristate 'Always IN2000 SCSI support' CONFIG_SCSI_IN2000 $CONFIG_SCSI + dep_tristate 'BusLogic SCSI support' CONFIG_SCSI_BUSLOGIC $CONFIG_SCSI + if [ "$CONFIG_SCSI_BUSLOGIC" != "n" ]; then + bool ' Omit FlashPoint support' CONFIG_SCSI_OMIT_FLASHPOINT fi -fi -dep_tristate 'PAS16 SCSI support' CONFIG_SCSI_PAS16 $CONFIG_SCSI -dep_tristate 'PCI2000 support' CONFIG_SCSI_PCI2000 $CONFIG_SCSI -dep_tristate 'PCI2220i support' CONFIG_SCSI_PCI2220I $CONFIG_SCSI -dep_tristate 'PSI240i support' CONFIG_SCSI_PSI240I $CONFIG_SCSI -dep_tristate 'Qlogic FAS SCSI support' CONFIG_SCSI_QLOGIC_FAS $CONFIG_SCSI -if [ "$CONFIG_PCI" = "y" ]; then - dep_tristate 'Qlogic ISP SCSI support' CONFIG_SCSI_QLOGIC_ISP $CONFIG_SCSI -fi -dep_tristate 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE $CONFIG_SCSI -if [ "$CONFIG_PCI" = "y" -a "$CONFIG_SCSI_AM53C974" != "y" ]; then - dep_tristate 'Tekram DC-390(T) (AMD PCscsi) SCSI support' CONFIG_SCSI_DC390T $CONFIG_SCSI -fi -dep_tristate 'Trantor T128/T128F/T228 SCSI support' CONFIG_SCSI_T128 $CONFIG_SCSI -dep_tristate 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F $CONFIG_SCSI - if [ "$CONFIG_SCSI_U14_34F" != "n" ]; then - bool ' enable elevator sorting' CONFIG_SCSI_U14_34F_LINKED_COMMANDS - int ' maximum number of queued commands' CONFIG_SCSI_U14_34F_MAX_TAGS 8 + dep_tristate 'DTC3180/3280 SCSI support' CONFIG_SCSI_DTC3280 $CONFIG_SCSI + dep_tristate 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE $CONFIG_SCSI + dep_tristate 'Trantor T128/T128F/T228 SCSI support' CONFIG_SCSI_T128 $CONFIG_SCSI +fi + +bool 'Parallel Port SCSI (PPA)' CONFIG_SCSI_PARALLEL N +if [ "$CONFIG_SCSI_PARALLEL" != "n" ]; then + if [ "$CONFIG_PARPORT" != "n" ]; then + dep_tristate 'IOMEGA Parallel Port ZIP drive SCSI support' CONFIG_SCSI_PPA $CONFIG_SCSI $CONFIG_PARPORT + if [ "$CONFIG_SCSI_PPA" != "n" ]; then + int ' Pedantic EPP-checking' CONFIG_SCSI_PPA_HAVE_PEDANTIC 2 0 3 + fi fi -dep_tristate 'UltraStor SCSI support' CONFIG_SCSI_ULTRASTOR $CONFIG_SCSI +fi + #dep_tristate 'SCSI debugging host adapter' CONFIG_SCSI_DEBUG $CONFIG_SCSI if [ "$CONFIG_PPC" = "y" ]; then dep_tristate 'MESH (Power Mac internal SCSI) support' CONFIG_SCSI_MESH $CONFIG_SCSI