patch-2.1.91 linux/drivers/scsi/amiga7xx.c

Next file: linux/drivers/scsi/amiga7xx.h
Previous file: linux/drivers/scsi/a2091.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.90/linux/drivers/scsi/amiga7xx.c linux/drivers/scsi/amiga7xx.c
@@ -33,14 +33,17 @@
     S_IFDIR | S_IRUGO | S_IXUGO, 2
 };
 
+extern ncr53c7xx_init (Scsi_Host_Template *tpnt, int board, int chip, 
+		       u32 base, int io_port, int irq, int dma,
+		       long long options, int clock);
+
 int amiga7xx_detect(Scsi_Host_Template *tpnt)
 {
     static unsigned char called = 0;
-    int key, clock;
-    int num = 0;
-    unsigned long address;
+    unsigned int key;
+    int num = 0, clock;
     long long options;
-    struct ConfigDev *cd;
+    const struct ConfigDev *cd;
 
     if (called || !MACH_IS_AMIGA)
 	return 0;
@@ -48,8 +51,9 @@
     tpnt->proc_dir = &proc_scsi_amiga7xx;
 
 #ifdef CONFIG_WARPENGINE_SCSI
-    if ((key = zorro_find(MANUF_MACROSYSTEMS, PROD_WARP_ENGINE, 0, 0)))
+    if ((key = zorro_find(ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx, 0, 0)))
     {
+	unsigned long address;
 	cd = zorro_get_board(key);
 	address = (unsigned long)kernel_map((unsigned long)cd->cd_BoardAddr,
 		cd->cd_BoardSize, KERNELMAP_NOCACHE_SER, NULL);
@@ -59,7 +63,8 @@
 	clock = 50000000;	/* 50MHz SCSI Clock */
 
 	ncr53c7xx_init(tpnt, 0, 710, (u32)(unsigned char *)(address + 0x40000),
-			0, IRQ_AMIGA_PORTS, DMA_NONE, options, clock);
+			0, IRQ_AMIGA_PORTS, DMA_NONE, 
+			options, clock);
 
 	zorro_config_board(key, 0);
 	num++;
@@ -73,17 +78,18 @@
 
 	clock = 50000000;	/* 50MHz SCSI Clock */
 
-    	ncr53c7xx_init(tpnt, 0, 710,
-		       (u32)(unsigned char *)ZTWO_VADDR(0xDD0040),
-		       0, IRQ_AMIGA_PORTS, DMA_NONE, options, clock);
+    	ncr53c7xx_init(tpnt, 0, 710, (u32)(unsigned char *)ZTWO_VADDR(0xDD0040),
+			0, IRQ_AMIGA_PORTS, DMA_NONE,
+			options, clock);
     	num++;
     }
 #endif
 
 #ifdef CONFIG_A4091_SCSI
-    while ( (key = zorro_find(MANUF_COMMODORE, PROD_A4091, 0, 0)) ||
-	    (key = zorro_find(MANUF_COMMODORE2, PROD_A4091_2, 0, 0)) )
+    while ( (key = zorro_find(ZORRO_PROD_CBM_A4091_1, 0, 0)) ||
+	    (key = zorro_find(ZORRO_PROD_CBM_A4091_2, 0, 0)) )
     {
+	unsigned long address;
 	cd = zorro_get_board(key);
 	address = (unsigned long)kernel_map((unsigned long)cd->cd_BoardAddr,
 		cd->cd_BoardSize, KERNELMAP_NOCACHE_SER, NULL);
@@ -93,11 +99,31 @@
 	clock = 50000000;	/* 50MHz SCSI Clock */
 
     	ncr53c7xx_init(tpnt, 0, 710, (u32)(unsigned char *)(address+0x800000),
-			0, IRQ_AMIGA_PORTS, DMA_NONE, 
-			options, clock);
+			0, IRQ_AMIGA_PORTS, DMA_NONE, options, clock);
 
 	zorro_config_board(key, 0);
 	num++;
+    }
+#endif
+
+#ifdef CONFIG_GVP_TURBO_SCSI
+    if((key = zorro_find(ZORRO_PROD_GVP_GFORCE_040_060, 0, 0)))
+    {
+	    cd = zorro_get_board(key);
+	    address = ZTWO_VADDR((unsigned long)cd->cd_BoardAddr);
+
+	    options = OPTION_MEMORY_MAPPED | OPTION_DEBUG_TEST1 |
+		      OPTION_INTFLY | OPTION_SYNCHRONOUS |
+		      OPTION_ALWAYS_SYNCHRONOUS | OPTION_DISCONNECT;
+
+	    clock = 50000000;	/* 50MHz SCSI Clock */
+
+	    ncr53c7xx_init(tpnt, 0, 710,
+			   (u32)(unsigned char *)(address + 0x40000),
+			   0, IRQ_AMIGA_PORTS, DMA_NONE, options, clock);
+
+	    zorro_config_board(key, 0);
+	    num++;
     }
 #endif
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov