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; _