include/pcmcia/mem_op.h: In function `copy_from_pc':
include/pcmcia/mem_op.h:85: error: invalid lvalue in assignment
include/pcmcia/mem_op.h:85: error: invalid lvalue in assignment
include/pcmcia/mem_op.h: In function `copy_to_pc':
include/pcmcia/mem_op.h:97: error: invalid lvalue in assignment
include/pcmcia/mem_op.h:97: error: invalid lvalue in assignment
include/pcmcia/mem_op.h: In function `copy_pc_to_user':
include/pcmcia/mem_op.h:109: error: invalid lvalue in assignment
include/pcmcia/mem_op.h:109: error: invalid lvalue in assignment
include/pcmcia/mem_op.h: In function `copy_user_to_pc':
include/pcmcia/mem_op.h:124: error: invalid lvalue in assignment
include/pcmcia/mem_op.h:124: error: invalid lvalue in assignment



---

 /dev/null                |    0 
 drivers/pcmcia/bulkmem.c |    2 +-
 include/pcmcia/mem_op.h  |   20 +++++++++++++++-----
 3 files changed, 16 insertions(+), 6 deletions(-)

diff -puN include/pcmcia/mem_op.h~gcc-35-pcmcia include/pcmcia/mem_op.h
--- 25/include/pcmcia/mem_op.h~gcc-35-pcmcia	2004-01-23 20:58:26.000000000 -0800
+++ 25-akpm/include/pcmcia/mem_op.h	2004-01-23 20:58:26.000000000 -0800
@@ -81,8 +81,12 @@ static inline void copy_from_pc(void *to
     size_t odd = (n & 1);
     n -= odd;
     while (n) {
-	*(u_short *)to = __raw_readw(from);
-	(char *)to += 2; (char *)from += 2; n -= 2;
+	u_short *t = to;
+
+	*t = __raw_readw(from);
+	to = (void *)((long)to + 2);
+	from = (const void *)((long)from + 2);
+	n -= 2;
     }
     if (odd)
 	*(u_char *)to = readb(from);
@@ -94,7 +98,9 @@ static inline void copy_to_pc(void *to, 
     n -= odd;
     while (n) {
 	__raw_writew(*(u_short *)from, to);
-	(char *)to += 2; (char *)from += 2; n -= 2;
+	to = (void *)((long)to + 2);
+	from = (const void *)((long)from + 2);
+	n -= 2;
     }
     if (odd)
 	writeb(*(u_char *)from, to);
@@ -106,7 +112,9 @@ static inline void copy_pc_to_user(void 
     n -= odd;
     while (n) {
 	put_user(__raw_readw(from), (short *)to);
-	(char *)to += 2; (char *)from += 2; n -= 2;
+	to = (void *)((long)to + 2);
+	from = (const void *)((long)from + 2);
+	n -= 2;
     }
     if (odd)
 	put_user(readb(from), (char *)to);
@@ -121,7 +129,9 @@ static inline void copy_user_to_pc(void 
     while (n) {
 	get_user(s, (short *)from);
 	__raw_writew(s, to);
-	(char *)to += 2; (char *)from += 2; n -= 2;
+	to = (void *)((long)to + 2);
+	from = (const void *)((long)from + 2);
+	n -= 2;
     }
     if (odd) {
 	get_user(c, (char *)from);
diff -puN -L drivers/pcmcia/bulkmem.c: /dev/null /dev/null
diff -puN drivers/pcmcia/bulkmem.c~gcc-35-pcmcia drivers/pcmcia/bulkmem.c
--- 25/drivers/pcmcia/bulkmem.c~gcc-35-pcmcia	2004-01-23 20:58:42.000000000 -0800
+++ 25-akpm/drivers/pcmcia/bulkmem.c	2004-01-23 20:59:04.000000000 -0800
@@ -298,7 +298,7 @@ int MTDHelperEntry(int func, void *a1, v
     {
 	window_handle_t w;
         int ret = pcmcia_request_window(a1, a2, &w);
-        (window_handle_t *)a1 = w;
+        a1 = w;
 	return  ret;
     }
         break;

_