Resent-Date: Sat, 27 Feb 1999 11:11:49 +0100 (MET)
Date: Sat, 27 Feb 1999 10:11:53 GMT
From: Jesper Skov <jskov@cygnus.co.uk>
To: linux-m68k@lists.linux-m68k.org, Jes.Sorensen@cern.ch
Subject: SCSI config magic
Resent-From: linux-m68k@phil.uni-sb.de

Hiya,

Do you think Linus would accept something like the below. Would you? ;)

Jesper

Index: arch/m68k/config.in
===================================================================
RCS file: /home/jskov/cvs/apus/arch/m68k/config.in,v
retrieving revision 1.9
diff -u -p -r1.9 config.in
--- arch/m68k/config.in	1999/02/20 13:31:06	1.9
+++ arch/m68k/config.in	1999/02/27 11:02:50
@@ -121,80 +121,9 @@ fi
 
 mainmenu_option next_comment
 comment 'SCSI support'
-
 tristate 'SCSI support' CONFIG_SCSI
-
 if [ "$CONFIG_SCSI" != "n" ]; then
-
-comment 'SCSI support type (disk, tape, CD-ROM)'
-
-dep_tristate 'SCSI disk support' CONFIG_BLK_DEV_SD $CONFIG_SCSI
-dep_tristate 'SCSI tape support' CONFIG_CHR_DEV_ST $CONFIG_SCSI
-dep_tristate 'SCSI CD-ROM support' CONFIG_BLK_DEV_SR $CONFIG_SCSI
-if [ "$CONFIG_BLK_DEV_SR" != "n" ]; then
-  bool '  Enable vendor-specific extensions (for SCSI CDROM)' CONFIG_BLK_DEV_SR_VENDOR
-fi
-dep_tristate 'SCSI generic support' CONFIG_CHR_DEV_SG $CONFIG_SCSI
-
-comment 'Some SCSI devices (e.g. CD jukebox) support multiple LUNs'
-
-bool 'Probe all LUNs on each SCSI device' CONFIG_SCSI_MULTI_LUN
-
-bool 'Verbose SCSI error reporting (kernel size +=12K)' CONFIG_SCSI_CONSTANTS
-bool 'SCSI logging facility' CONFIG_SCSI_LOGGING
-
-mainmenu_option next_comment
-comment 'SCSI low-level drivers'
-
-if [ "$CONFIG_AMIGA" = "y" ]; then
-  dep_tristate 'A3000 WD33C93A support' CONFIG_A3000_SCSI $CONFIG_SCSI
-  if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-    bool 'A4000T SCSI support' CONFIG_A4000T_SCSI
-  fi
-fi
-if [ "$CONFIG_ZORRO" = "y" ]; then
-  dep_tristate 'A2091 WD33C93A support' CONFIG_A2091_SCSI $CONFIG_SCSI
-  dep_tristate 'GVP Series II WD33C93A support' CONFIG_GVP11_SCSI $CONFIG_SCSI
-  dep_tristate 'CyberStorm SCSI support' CONFIG_CYBERSTORM_SCSI $CONFIG_SCSI
-  dep_tristate 'CyberStorm Mk II SCSI support' CONFIG_CYBERSTORMII_SCSI $CONFIG_SCSI
-  dep_tristate 'Blizzard 2060 SCSI support' CONFIG_BLZ2060_SCSI $CONFIG_SCSI
-  dep_tristate 'Blizzard 1230IV/1260 SCSI support' CONFIG_BLZ1230_SCSI $CONFIG_SCSI
-  dep_tristate 'Fastlane SCSI support' CONFIG_FASTLANE_SCSI $CONFIG_SCSI
-  if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-    bool 'A4091 SCSI support' CONFIG_A4091_SCSI
-    bool 'WarpEngine SCSI support' CONFIG_WARPENGINE_SCSI
-    bool 'Blizzard PowerUP 603e+ SCSI' CONFIG_BLZ603EPLUS_SCSI
-    dep_tristate 'BSC Oktagon SCSI support' CONFIG_OKTAGON_SCSI $CONFIG_SCSI
-#    bool 'Cyberstorm Mk III SCSI support' CONFIG_CYBERSTORMIII_SCSI
-#    bool 'GVP Turbo 040/060 SCSI support' CONFIG_GVP_TURBO_SCSI
-  fi
-fi
-if [ "$CONFIG_ATARI" = "y" ]; then
-  dep_tristate 'Atari native SCSI support' CONFIG_ATARI_SCSI $CONFIG_SCSI
-  if [ "$CONFIG_ATARI_SCSI" != "n" ]; then
-    bool '  Long delays for Toshiba CD-ROMs' CONFIG_ATARI_SCSI_TOSHIBA_DELAY
-    bool '  Reset SCSI-devices at boottime' CONFIG_ATARI_SCSI_RESET_BOOT
-    if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_HADES" = "y" ]; then
-      bool '  Hades SCSI DMA emulator (EXPERIMENTAL)' CONFIG_TT_DMA_EMUL
-    fi
-  fi
-fi
-if [ "$CONFIG_MAC" = "y" ]; then
-  bool 'MAC NCR5380 SCSI' CONFIG_MAC_SCSI
-  dep_tristate 'MAC NCR53c9[46] SCSI' CONFIG_SCSI_MAC_ESP $CONFIG_SCSI
-fi
-#dep_tristate 'SCSI debugging host adapter' CONFIG_SCSI_DEBUG $CONFIG_SCSI
-
-if [ "$CONFIG_VME" = "y" -a "$CONFIG_MVME16x" = "y" ]; then
-  bool 'NCR53C710 SCSI driver for MVME16x' CONFIG_MVME16x_SCSI
-fi
-
-if [ "$CONFIG_VME" = "y" -a "$CONFIG_BVME6000" = "y" ]; then
-  bool 'NCR53C710 SCSI driver for BVME6000' CONFIG_BVME6000_SCSI
-fi
-
-endmenu
-
+  source drivers/scsi/Config.in
 fi
 endmenu
 
Index: drivers/scsi/Config.in
===================================================================
RCS file: /home/jskov/cvs/apus/drivers/scsi/Config.in,v
retrieving revision 1.7
diff -u -p -r1.7 Config.in
--- drivers/scsi/Config.in	1999/02/05 22:27:58	1.7
+++ drivers/scsi/Config.in	1999/02/27 10:59:28
@@ -18,6 +18,73 @@ bool 'SCSI logging facility' CONFIG_SCSI
 mainmenu_option next_comment
 comment 'SCSI low-level drivers'
 
+# Default is to ask for all drivers. This may be disabled in the below
+# code handling specific platforms.
+define_bool CONFIG_SCSI_ALL y
+
+if [ "$CONFIG_AMIGA" = "y" ]; then
+  define_bool CONFIG_SCSI_ALL n
+
+  dep_tristate 'A3000 WD33C93A support' CONFIG_A3000_SCSI $CONFIG_SCSI
+  if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+    bool 'A4000T SCSI support' CONFIG_A4000T_SCSI
+  fi
+fi
+if [ "$CONFIG_ZORRO" = "y" ]; then
+  define_bool CONFIG_SCSI_ALL n
+
+  dep_tristate 'A2091 WD33C93A support' CONFIG_A2091_SCSI $CONFIG_SCSI
+  dep_tristate 'GVP Series II WD33C93A support' CONFIG_GVP11_SCSI $CONFIG_SCSI
+  dep_tristate 'CyberStorm SCSI support' CONFIG_CYBERSTORM_SCSI $CONFIG_SCSI
+  dep_tristate 'CyberStorm Mk II SCSI support' CONFIG_CYBERSTORMII_SCSI $CONFIG_SCSI
+  dep_tristate 'Blizzard 2060 SCSI support' CONFIG_BLZ2060_SCSI $CONFIG_SCSI
+  dep_tristate 'Blizzard 1230IV/1260 SCSI support' CONFIG_BLZ1230_SCSI $CONFIG_SCSI
+  dep_tristate 'Fastlane SCSI support' CONFIG_FASTLANE_SCSI $CONFIG_SCSI
+  if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+    bool 'A4091 SCSI support' CONFIG_A4091_SCSI
+    bool 'WarpEngine SCSI support' CONFIG_WARPENGINE_SCSI
+    bool 'Blizzard PowerUP 603e+ SCSI' CONFIG_BLZ603EPLUS_SCSI
+    dep_tristate 'BSC Oktagon SCSI support' CONFIG_OKTAGON_SCSI $CONFIG_SCSI
+#    bool 'Cyberstorm Mk III SCSI support' CONFIG_CYBERSTORMIII_SCSI
+#    bool 'GVP Turbo 040/060 SCSI support' CONFIG_GVP_TURBO_SCSI
+  fi
+fi
+
+if [ "$CONFIG_ATARI" = "y" ]; then
+  define_bool CONFIG_SCSI_ALL n
+
+  dep_tristate 'Atari native SCSI support' CONFIG_ATARI_SCSI $CONFIG_SCSI
+  if [ "$CONFIG_ATARI_SCSI" != "n" ]; then
+    bool '  Long delays for Toshiba CD-ROMs' CONFIG_ATARI_SCSI_TOSHIBA_DELAY
+    bool '  Reset SCSI-devices at boottime' CONFIG_ATARI_SCSI_RESET_BOOT
+    if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_HADES" = "y" ]; then
+      bool '  Hades SCSI DMA emulator (EXPERIMENTAL)' CONFIG_TT_DMA_EMUL
+    fi
+  fi
+fi
+
+if [ "$CONFIG_MAC" = "y" ]; then
+  define_bool CONFIG_SCSI_ALL n
+
+  bool 'MAC NCR5380 SCSI' CONFIG_MAC_SCSI
+  dep_tristate 'MAC NCR53c9[46] SCSI' CONFIG_SCSI_MAC_ESP $CONFIG_SCSI
+fi
+
+if [ "$CONFIG_VME" = "y" -a "$CONFIG_MVME16x" = "y" ]; then
+  define_bool CONFIG_SCSI_ALL n
+
+  bool 'NCR53C710 SCSI driver for MVME16x' CONFIG_MVME16x_SCSI
+fi
+
+if [ "$CONFIG_VME" = "y" -a "$CONFIG_BVME6000" = "y" ]; then
+  define_bool CONFIG_SCSI_ALL n
+
+  bool 'NCR53C710 SCSI driver for BVME6000' CONFIG_BVME6000_SCSI
+fi
+
+# Generic SCSI
+if [ "CONFIG_SCSI_ALL" = "y" ];then
+
 dep_tristate '7000FASST SCSI support' CONFIG_SCSI_7000FASST $CONFIG_SCSI
 dep_tristate 'ACARD SCSI support' CONFIG_SCSI_ACARD $CONFIG_SCSI
 dep_tristate 'Adaptec AHA152X/2825 support' CONFIG_SCSI_AHA152X $CONFIG_SCSI
@@ -133,6 +200,7 @@ dep_tristate 'UltraStor 14F/34F support'
     int  '  maximum number of queued commands' CONFIG_SCSI_U14_34F_MAX_TAGS 8
   fi
 dep_tristate 'UltraStor SCSI support' CONFIG_SCSI_ULTRASTOR $CONFIG_SCSI
+fi # CONFIG_SCSI_ALL
 #
 # Note - this is a very special 'host' adapter that simulates the presence of some disks.
 # It can come in very handy for troubleshooting.  Anyone else is welcome to use it - all
@@ -144,26 +212,12 @@ dep_tristate 'UltraStor SCSI support' CO
 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
   dep_tristate 'SCSI debugging host adapter' CONFIG_SCSI_DEBUG $CONFIG_SCSI
 fi
-if [ "$CONFIG_PPC" = "y" ]; then
-  if [ "$CONFIG_APUS" = "y" ]; then
-    dep_tristate 'A3000 WD33C93A support' CONFIG_A3000_SCSI $CONFIG_SCSI
-    tristate 'A2091 WD33C93A support' CONFIG_A2091_SCSI
-    tristate 'GVP Series II WD33C93A support' CONFIG_GVP11_SCSI
-    bool 'Fastlane SCSI support' CONFIG_FASTLANE_SCSI
-    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-      bool 'A4000T SCSI support' CONFIG_A4000T_SCSI
-      bool 'A4091 SCSI support' CONFIG_A4091_SCSI
-      bool 'BSC Oktagon SCSI support' CONFIG_OKTAGON_SCSI
-      bool 'Blizzard PowerUP 603e+ SCSI' CONFIG_BLZ603EPLUS_SCSI
-#     bool 'Cyberstorm Mk III SCSI support' CONFIG_CYBERSTORMIII_SCSI
-    fi
-  else
-    dep_tristate 'MESH (Power Mac internal SCSI) support' CONFIG_SCSI_MESH $CONFIG_SCSI
-    if [ "$CONFIG_SCSI_MESH" != "n" ]; then
-      int '  maximum synchronous transfer rate (MB/s) (0 = async)' CONFIG_SCSI_MESH_SYNC_RATE 5
-    fi
-    dep_tristate '53C94 (Power Mac external SCSI) support' CONFIG_SCSI_MAC53C94 $CONFIG_SCSI
+if [ "$CONFIG_PMAC" = "y" ]; then
+  dep_tristate 'MESH (Power Mac internal SCSI) support' CONFIG_SCSI_MESH $CONFIG_SCSI
+  if [ "$CONFIG_SCSI_MESH" != "n" ]; then
+    int '  maximum synchronous transfer rate (MB/s) (0 = async)' CONFIG_SCSI_MESH_SYNC_RATE 5
   fi
+  dep_tristate '53C94 (Power Mac external SCSI) support' CONFIG_SCSI_MAC53C94 $CONFIG_SCSI
 fi
 if [ "$CONFIG_ARCH_ACORN" = "y" ]; then
   source drivers/acorn/scsi/Config.in

