
From: Mikael Pettersson <mikpe@csd.uu.se>

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 <akpm@osdl.org>
---

 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 */
_
