drivers/mtd/chips/cfi_cmdset_0020.c:545: error: invalid lvalue in increment
drivers/mtd/chips/cfi_cmdset_0020.c:547: error: invalid lvalue in increment
drivers/mtd/chips/cfi_cmdset_0020.c:549: error: invalid lvalue in increment



---

 drivers/mtd/chips/cfi_cmdset_0001.c |   35 ++++++++++++++++++++++++++++-------
 drivers/mtd/chips/cfi_cmdset_0002.c |    0 
 drivers/mtd/chips/cfi_cmdset_0020.c |   15 ++++++++++++---
 drivers/mtd/maps/elan-104nc.c       |    2 +-
 drivers/mtd/maps/sbc_gxx.c          |    2 +-
 5 files changed, 42 insertions(+), 12 deletions(-)

diff -puN drivers/mtd/chips/cfi_cmdset_0020.c~gcc-35-mtd drivers/mtd/chips/cfi_cmdset_0020.c
--- 25/drivers/mtd/chips/cfi_cmdset_0020.c~gcc-35-mtd	2004-01-23 20:57:42.000000000 -0800
+++ 25-akpm/drivers/mtd/chips/cfi_cmdset_0020.c	2004-01-23 20:57:42.000000000 -0800
@@ -542,11 +542,20 @@ static inline int do_write_buffer(struct
 	/* Write data */
 	for (z = 0; z < len; z += CFIDEV_BUSWIDTH) {
 		if (cfi_buswidth_is_1()) {
-			map_write8 (map, *((__u8*)buf)++, adr+z);
+			u8 *b = (u8 *)buf;
+
+			map_write8 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else if (cfi_buswidth_is_2()) {
-			map_write16 (map, *((__u16*)buf)++, adr+z);
+			u16 *b = (u16 *)buf;
+
+			map_write16 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else if (cfi_buswidth_is_4()) {
-			map_write32 (map, *((__u32*)buf)++, adr+z);
+			u32 *b = (u32 *)buf;
+
+			map_write32 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else {
 			DISABLE_VPP(map);
 			return -EINVAL;
diff -puN drivers/mtd/chips/cfi_cmdset_0001.c~gcc-35-mtd drivers/mtd/chips/cfi_cmdset_0001.c
--- 25/drivers/mtd/chips/cfi_cmdset_0001.c~gcc-35-mtd	2004-01-23 20:57:42.000000000 -0800
+++ 25-akpm/drivers/mtd/chips/cfi_cmdset_0001.c	2004-01-23 20:57:42.000000000 -0800
@@ -1003,13 +1003,25 @@ static inline int do_write_buffer(struct
 	z = 0;
 	while(z < words * CFIDEV_BUSWIDTH) {
 		if (cfi_buswidth_is_1()) {
-			map_write8 (map, *((__u8*)buf)++, adr+z);
+			u8 *b = (u8 *)buf;
+
+			map_write8 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else if (cfi_buswidth_is_2()) {
-			map_write16 (map, *((__u16*)buf)++, adr+z);
+			u16 *b = (u16 *)buf;
+
+			map_write16 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else if (cfi_buswidth_is_4()) {
-			map_write32 (map, *((__u32*)buf)++, adr+z);
+			u32 *b = (u32 *)buf;
+
+			map_write32 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else if (cfi_buswidth_is_8()) {
-			map_write64 (map, *((__u64*)buf)++, adr+z);
+			u64 *b = (u64 *)buf;
+
+			map_write64 (map, *b++, adr+z);
+			buf = (const u_char *)b;
 		} else {
 			ret = -EINVAL;
 			goto out;
@@ -1025,11 +1037,20 @@ static inline int do_write_buffer(struct
 		while (i < CFIDEV_BUSWIDTH)
 			tmp_buf[i++] = 0xff;
 		if (cfi_buswidth_is_2()) {
-			map_write16 (map, *((__u16*)tmp_p)++, adr+z);
+			u16 *b = (u16 *)tmp_p;
+
+			map_write16 (map, *b++, adr+z);
+			tmp_p = (u_char *)b;
 		} else if (cfi_buswidth_is_4()) {
-			map_write32 (map, *((__u32*)tmp_p)++, adr+z);
+			u32 *b = (u32 *)tmp_p;
+
+			map_write32 (map, *b++, adr+z);
+			tmp_p = (u_char *)b;
 		} else if (cfi_buswidth_is_8()) {
-			map_write64 (map, *((__u64*)tmp_p)++, adr+z);
+			u64 *b = (u64 *)tmp_p;
+
+			map_write64 (map, *b++, adr+z);
+			tmp_p = (u_char *)b;
 		} else {
 			ret = -EINVAL;
 			goto out;
diff -puN drivers/mtd/chips/cfi_cmdset_0002.c~gcc-35-mtd drivers/mtd/chips/cfi_cmdset_0002.c
diff -puN drivers/mtd/maps/elan-104nc.c~gcc-35-mtd drivers/mtd/maps/elan-104nc.c
--- 25/drivers/mtd/maps/elan-104nc.c~gcc-35-mtd	2004-01-23 20:57:42.000000000 -0800
+++ 25-akpm/drivers/mtd/maps/elan-104nc.c	2004-01-23 20:57:42.000000000 -0800
@@ -148,7 +148,7 @@ static void elan_104nc_copy_from(struct 
 		elan_104nc_page(map, from);
 		memcpy_fromio(to, iomapadr + (from & WINDOW_MASK), thislen);
 		spin_unlock(&elan_104nc_spin);
-		(__u8*)to += thislen;
+		to += thislen;
 		from += thislen;
 		len -= thislen;
 	}
diff -puN drivers/mtd/maps/sbc_gxx.c~gcc-35-mtd drivers/mtd/maps/sbc_gxx.c
--- 25/drivers/mtd/maps/sbc_gxx.c~gcc-35-mtd	2004-01-23 20:57:51.000000000 -0800
+++ 25-akpm/drivers/mtd/maps/sbc_gxx.c	2004-01-23 20:58:06.000000000 -0800
@@ -155,7 +155,7 @@ static void sbc_gxx_copy_from(struct map
 		sbc_gxx_page(map, from);
 		memcpy_fromio(to, iomapadr + (from & WINDOW_MASK), thislen);
 		spin_unlock(&sbc_gxx_spin);
-		(__u8*)to += thislen;
+		to += thislen;
 		from += thislen;
 		len -= thislen;
 	}

_