In file included from drivers/scsi/53c700.c:140:
drivers/scsi/53c700.h: In function `NCR_700_set_SXFER':
drivers/scsi/53c700.h:106: error: invalid lvalue in assignment
drivers/scsi/53c700.h:107: error: invalid lvalue in assignment
drivers/scsi/53c700.h: In function `NCR_700_set_depth':
drivers/scsi/53c700.h:116: error: invalid lvalue in assignment
drivers/scsi/53c700.h:117: error: invalid lvalue in assignment
drivers/scsi/53c700.h: In function `NCR_700_set_flag':
drivers/scsi/53c700.h:137: error: invalid lvalue in assignment
drivers/scsi/53c700.h: In function `NCR_700_clear_flag':
drivers/scsi/53c700.h:142: error: invalid lvalue in assignment



---

 drivers/scsi/53c700.h |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff -puN drivers/scsi/53c700.h~gcc-35-53c700 drivers/scsi/53c700.h
--- 25/drivers/scsi/53c700.h~gcc-35-53c700	2004-01-23 22:20:50.000000000 -0800
+++ 25-akpm/drivers/scsi/53c700.h	2004-01-23 22:22:13.000000000 -0800
@@ -103,8 +103,8 @@ struct NCR_700_SG_List {
 static inline void
 NCR_700_set_SXFER(Scsi_Device *SDp, __u8 sxfer)
 {
-	((unsigned long)SDp->hostdata) &= 0xffffff00;
-	((unsigned long)SDp->hostdata) |= sxfer & 0xff;
+	SDp->hostdata = (void *)(((long)SDp->hostdata & 0xffffff00) |
+				(sxfer & 0xff));
 }
 static inline __u8 NCR_700_get_SXFER(Scsi_Device *SDp)
 {
@@ -113,8 +113,11 @@ static inline __u8 NCR_700_get_SXFER(Scs
 static inline void
 NCR_700_set_depth(Scsi_Device *SDp, __u8 depth)
 {
-	((unsigned long)SDp->hostdata) &= 0xffff00ff;
-	((unsigned long)SDp->hostdata) |= (0xff00 & (depth << 8));
+	long l = (long)SDp->hostdata;
+
+	l &= 0xffff00ff;
+	l |= 0xff00 & (depth << 8);
+	SDp->hostdata = (void *)l;
 }
 static inline __u8
 NCR_700_get_depth(Scsi_Device *SDp)
@@ -134,12 +137,12 @@ NCR_700_is_flag_clear(Scsi_Device *SDp, 
 static inline void
 NCR_700_set_flag(Scsi_Device *SDp, __u32 flag)
 {
-	((unsigned long)SDp->hostdata) |= (flag & 0xffff0000);
+	SDp->hostdata = (void *)((long)SDp->hostdata | (flag & 0xffff0000));
 }
 static inline void
 NCR_700_clear_flag(Scsi_Device *SDp, __u32 flag)
 {
-	((unsigned long)SDp->hostdata) &= ~(flag & 0xffff0000);
+	SDp->hostdata = (void *)((long)SDp->hostdata & ~(flag & 0xffff0000));
 }
 
 struct NCR_700_command_slot {

_