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