Date: Mon, 31 Mar 1997 15:12:10 +0200 (MET DST)
From: Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
To: Linux/m68k <linux-m68k@phil.uni-sb.de>
Subject: L68K: Zorro fixes
Sender: owner-linux-m68k@phil.uni-sb.de
Reply-To: linux-m68k@phil.uni-sb.de


It seems like Mr. Helfrich used a `stolen' manufacturer ID (belonging to Kato)
for his Rainbow 3 video board...

--- linux-2.1.29/arch/m68k/amiga/zorro.c.orig.real	Tue Mar 25 19:44:37 1997
+++ linux-2.1.29/arch/m68k/amiga/zorro.c	Sun Mar 30 23:16:57 1997
@@ -407,8 +407,9 @@
     PROD("RH 800C", RAM, ROCTEC_RH_800C_RAM)
 END
 
-BEGIN_PROD(HELFRICH_1)
-    PROD("Rainbow III", GFX, HELFRICH_RAINBOW_III)
+BEGIN_PROD(KATO)
+    PROD("Melody MPEG", AUDIO, KATO_MELODY)
+    PROD("Rainbow III", GFX, HELFRICH_RAINBOW_III)	/* ID clash!! */
 END
 
 BEGIN_PROD(SOFTWARE_RESULTS_ENTERPRISES)
@@ -666,7 +667,7 @@
     MANUF("Applied Magic Inc.", APPLIED_MAGIC)
     MANUF("GFX-Base", GFX_BASE)
     MANUF("RocTec", ROCTEC)
-    MANUF("Ingenieurbüro Helfrich", HELFRICH_1)
+    MANUF("Kato", KATO)
     MANUF("Software Results Enterprises", SOFTWARE_RESULTS_ENTERPRISES)
     MANUF("Masoboshi", MASOBOSHI)
     MANUF("DelaComp", DELACOMP)
@@ -922,6 +923,10 @@
 			break;
 		    }
 	    }
+	/* Put workarounds for ID clashes here */
+	if (manuf == ZORRO_MANUF(ZORRO_PROD_HELFRICH_RAINBOW_III) &&
+	    prod == ZORRO_PROD(ZORRO_PROD_HELFRICH_RAINBOW_III))
+	    manufname = "Ingenieurbüro Helfrich";
     } else {
 	manufname = "Great Valley Products";
 	gvp = 1;
--- linux-2.1.29/include/linux/zorro.h.orig.real	Wed Mar 19 23:11:49 1997
+++ linux-2.1.29/include/linux/zorro.h	Sun Mar 30 22:37:52 1997
@@ -365,6 +365,9 @@
 #define  ZORRO_PROD_ROCTEC_RH_800C				ZORRO_ID(ROCTEC, 0x01, 0)
 #define  ZORRO_PROD_ROCTEC_RH_800C_RAM				ZORRO_ID(ROCTEC, 0x01, 0)
 
+#define ZORRO_MANUF_KATO					0x0861
+#define  ZORRO_PROD_KATO_MELODY					ZORRO_ID(KATO, 0x80, 0)
+/* ID clash!! */
 #define ZORRO_MANUF_HELFRICH_1					0x0861
 #define  ZORRO_PROD_HELFRICH_RAINBOW_III			ZORRO_ID(HELFRICH_1, 0x21, 0)
 

Greetings,

						Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/m68k on Amiga          http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

