patch-2.4.0-test6 linux/include/asm-sh/ide.h

Next file: linux/include/asm-sh/io.h
Previous file: linux/include/asm-sh/hd64461.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/include/asm-sh/ide.h linux/include/asm-sh/ide.h
@@ -15,6 +15,7 @@
 #ifdef __KERNEL__
 
 #include <linux/config.h>
+#include <asm/machvec.h>
 
 #ifndef MAX_HWIFS
 #define MAX_HWIFS	1
@@ -22,35 +23,51 @@
 
 #define ide__sti()	__sti()
 
+static __inline__ int ide_default_irq_hp600(ide_ioreg_t base)
+{
+	switch (base) {
+		case 0x01f0: return 77;
+		case 0x0170: return 77;
+		default:
+			return 0;
+	}
+}
+
 static __inline__ int ide_default_irq(ide_ioreg_t base)
 {
+	if (MACH_HP600) {
+		return ide_default_irq_hp600(base);
+	}
 	switch (base) {
-#ifdef CONFIG_SH_HP600
-		case 0x201f0: return 77;
-		case 0x20170: return 77;
-#else
 		case 0x01f0: return 14;
 		case 0x0170: return 15;
-#endif
 		default:
 			return 0;
 	}
 }
 
-static __inline__ ide_ioreg_t ide_default_io_base(int index)
+static __inline__ ide_ioreg_t ide_default_io_base_hp600(int index)
 {
 	switch (index) {
-#ifdef CONFIG_SH_HP600
 		case 0:	
-			return 0x201f0;
+			return 0x01f0;
 		case 1:	
-			return 0x20170;
-#else
+			return 0x0170;
+		default:
+			return 0;
+	}
+}
+
+static __inline__ ide_ioreg_t ide_default_io_base(int index)
+{
+	if (MACH_HP600) {
+		return ide_default_io_base_hp600(index);
+	}
+	switch (index) {
 		case 0:	
 			return 0x1f0;
 		case 1:	
 			return 0x170;
-#endif
 		default:
 			return 0;
 	}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)