From: Mikael Pettersson This patch fixes gcc-3.4 cast-as-lvalue warnings in the 2.6.9-rc2 kernel's WANPIPE/SDLA net drivers. This is a forward port of the fix I made for the 2.4 kernel. Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/wan/sdla_fr.c | 4 ++-- 25-akpm/drivers/net/wan/sdladrv.c | 6 +++--- 25-akpm/drivers/net/wan/sdlamain.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff -puN drivers/net/wan/sdladrv.c~wanpipe-sdla-driver-gcc-34-fixes drivers/net/wan/sdladrv.c --- 25/drivers/net/wan/sdladrv.c~wanpipe-sdla-driver-gcc-34-fixes 2004-09-20 10:44:13.368231368 -0700 +++ 25-akpm/drivers/net/wan/sdladrv.c 2004-09-20 10:44:13.380229544 -0700 @@ -937,7 +937,7 @@ int sdla_peek (sdlahw_t* hw, unsigned lo peek_by_4 ((unsigned long)hw->dpmbase + curpos, buf, curlen); addr += curlen; - (char*)buf += curlen; + buf = (char*)buf + curlen; len -= curlen; } @@ -1019,7 +1019,7 @@ int sdla_poke (sdlahw_t* hw, unsigned lo poke_by_4 ((unsigned long)hw->dpmbase + curpos, buf, curlen); addr += curlen; - (char*)buf += curlen; + buf = (char*)buf + curlen; len -= curlen; } @@ -2001,7 +2001,7 @@ static int detect_s514 (sdlahw_t* hw) (void *)hw->dpmbase = ioremap((unsigned long)S514_mem_base_addr, (unsigned long)MAX_SIZEOF_S514_MEMORY); /* map the physical control register memory to virtual memory */ - (void *)hw->vector = ioremap( + hw->vector = (unsigned long)ioremap( (unsigned long)(S514_mem_base_addr + S514_CTRL_REG_BYTE), (unsigned long)16); diff -puN drivers/net/wan/sdla_fr.c~wanpipe-sdla-driver-gcc-34-fixes drivers/net/wan/sdla_fr.c --- 25/drivers/net/wan/sdla_fr.c~wanpipe-sdla-driver-gcc-34-fixes 2004-09-20 10:44:13.370231064 -0700 +++ 25-akpm/drivers/net/wan/sdla_fr.c 2004-09-20 10:44:13.378229848 -0700 @@ -3678,7 +3678,7 @@ static int process_udp_mgmt_pkt(sdla_t* break; } - (void *)ptr_trc_el = card->u.f.curr_trc_el; + ptr_trc_el = (void *)card->u.f.curr_trc_el; buffer_length = 0; fr_udp_pkt->data[0x00] = 0x00; @@ -3729,7 +3729,7 @@ static int process_udp_mgmt_pkt(sdla_t* ptr_trc_el ++; if((void *)ptr_trc_el > card->u.f.trc_el_last) - (void*)ptr_trc_el = card->u.f.trc_el_base; + ptr_trc_el = (void*)card->u.f.trc_el_base; buffer_length += sizeof(fpipemon_trc_hdr_t); if(fpipemon_trc->fpipemon_trc_hdr.data_passed) { diff -puN drivers/net/wan/sdlamain.c~wanpipe-sdla-driver-gcc-34-fixes drivers/net/wan/sdlamain.c --- 25/drivers/net/wan/sdlamain.c~wanpipe-sdla-driver-gcc-34-fixes 2004-09-20 10:44:13.372230760 -0700 +++ 25-akpm/drivers/net/wan/sdlamain.c 2004-09-20 10:44:13.381229392 -0700 @@ -976,7 +976,7 @@ static int ioctl_dump (sdla_t* card, sdl dump.length -= len; dump.offset += len; - (char*)dump.ptr += len; + dump.ptr = (char*)dump.ptr + len; } sdla_mapmem(&card->hw, oldvec);/* restore DPM window position */ _