patch-2.4.2 linux/arch/arm/lib/io-pcio.S

Next file: linux/arch/arm/lib/io-readsb.S
Previous file: linux/arch/arm/lib/io-acorn.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.1/linux/arch/arm/lib/io-pcio.S linux/arch/arm/lib/io-pcio.S
@@ -1,4 +1,5 @@
 #include <linux/linkage.h>
+#include <asm/assembler.h>
 #include <asm/hardware.h>
 
 		.equ	pcio_high, PCIO_BASE & 0xff000000
@@ -13,26 +14,37 @@
 
 ENTRY(insl)
 		ioaddr	r0, r0
-		b	__arch_readsl
+		teq	r2, #0
+		bne	__arch_readsl
+		RETINSTR(mov, pc, lr)
 
 ENTRY(outsl)
 		ioaddr	r0, r0
-		b	__arch_writesl
-
-		/* Nobody could say these are optimal, but not to worry. */
+		teq	r2, #0
+		bne	__arch_writesl
+		RETINSTR(mov, pc, lr)
 
 ENTRY(outsw)
 		ioaddr	r0, r0
-		b	__arch_writesw
+		teq	r2, #0
+		bne	__arch_writesw
+		RETINSTR(mov, pc, lr)
 
 ENTRY(insw)
 		ioaddr	r0, r0
-		b	__arch_readsw
+		teq	r2, #0
+		bne	__arch_readsw
+		RETINSTR(mov, pc, lr)
 
 ENTRY(insb)
 		ioaddr	r0, r0
-		b	__arch_readsb
+		teq	r2, #0
+		bne	__arch_readsb
+		RETINSTR(mov, pc, lr)
 
 ENTRY(outsb)
 		ioaddr	r0, r0
-		b	__arch_writesb
+		teq	r2, #0
+		bne	__arch_writesb
+		RETINSTR(mov, pc, lr)
+

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