DORMANTno replies

[PATCH 1/12] smc911x: Fix a few accessor SMC_* routines

From: <hidden>
Date: 2006-09-13 18:35:32

When in 16 bit mode, SMC_outl incorrectly simulates the situation and plus in 
32 bit mode SMC_outw is missing...

Signed-off-by: Bora Sahin <redacted>

Index: linux-2.6.18-rc4/drivers/net/smc911x.h
===================================================================
--- linux-2.6.18-rc4.orig/drivers/net/smc911x.h	2006-08-06 21:20:11.000000000 +0300
+++ linux-2.6.18-rc4/drivers/net/smc911x.h	2006-08-24 12:23:10.000000000 +0300
@@ -51,8 +51,8 @@
 #define SMC_outw(v, a, r)		 writew(v, (a) + (r))
 #define SMC_outl(v, a, r) 			 \
 	do{					 \
-		 writel(v & 0xFFFF, (a) + (r));	 \
-		 writel(v >> 16, (a) + (r) + 2); \
+		 writew(v & 0xFFFF, (a) + (r));	 \
+		 writew(v >> 16, (a) + (r) + 2); \
 	 } while (0)
 #define SMC_insl(a, r, p, l)	 readsw((short*)((a) + (r)), p, l*2)
 #define SMC_outsl(a, r, p, l)	 writesw((short*)((a) + (r)), p, l*2)
@@ -62,6 +62,7 @@
 #define SMC_inw(a, r)		 readw((a) + (r))
 #define SMC_inl(a, r)		 readl((a) + (r))
 #define SMC_outb(v, a, r)	 writeb(v, (a) + (r))
+#define SMC_outw(v, a, r)	 writew(v, (a) + (r))
 #define SMC_outl(v, a, r)	 writel(v, (a) + (r))
 #define SMC_insl(a, r, p, l)	 readsl((int*)((a) + (r)), p, l)
 #define SMC_outsl(a, r, p, l)	 writesl((int*)((a) + (r)), p, l)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help