Message ID | 200905122107.n4CL7qqQ010642@imap1.linux-foundation.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
akpm@linux-foundation.org <akpm@linux-foundation.org> : > i386 allmodconfig: > > drivers/net/82596.c: In function 'init_rx_bufs': > drivers/net/82596.c:544: warning: cast to pointer from integer of different size > drivers/net/82596.c:545: warning: cast to pointer from integer of different size [...] > drivers/net/82596.c: In function 'i596_interrupt': > drivers/net/82596.c:1404: warning: cast to pointer from integer of different size > > (ugh) I may sound like Pavlov's best friend but the use of virt_to_bus and the 90's look of this (old) driver make me wonder if the use of so many pointers is right in the first place. Ought some of those be turned into plain u32 instead ?
From: akpm@linux-foundation.org Date: Tue, 12 May 2009 13:48:37 -0700 > From: Andrew Morton <akpm@linux-foundation.org> > > i386 allmodconfig: > > drivers/net/82596.c: In function 'init_rx_bufs': > drivers/net/82596.c:544: warning: cast to pointer from integer of different size Applied. But like Francois said, someone need to look closer into what this driver is really doing. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff -puN drivers/net/82596.c~drivers-net-82596c-suppress-warnings drivers/net/82596.c --- a/drivers/net/82596.c~drivers-net-82596c-suppress-warnings +++ a/drivers/net/82596.c @@ -122,13 +122,13 @@ static char version[] __initdata = #define ISCP_BUSY 0x00010000 #define MACH_IS_APRICOT 0 #else -#define WSWAPrfd(x) ((struct i596_rfd *)(x)) -#define WSWAPrbd(x) ((struct i596_rbd *)(x)) -#define WSWAPiscp(x) ((struct i596_iscp *)(x)) -#define WSWAPscb(x) ((struct i596_scb *)(x)) -#define WSWAPcmd(x) ((struct i596_cmd *)(x)) -#define WSWAPtbd(x) ((struct i596_tbd *)(x)) -#define WSWAPchar(x) ((char *)(x)) +#define WSWAPrfd(x) ((struct i596_rfd *)((long)x)) +#define WSWAPrbd(x) ((struct i596_rbd *)((long)x)) +#define WSWAPiscp(x) ((struct i596_iscp *)((long)x)) +#define WSWAPscb(x) ((struct i596_scb *)((long)x)) +#define WSWAPcmd(x) ((struct i596_cmd *)((long)x)) +#define WSWAPtbd(x) ((struct i596_tbd *)((long)x)) +#define WSWAPchar(x) ((char *)((long)x)) #define ISCP_BUSY 0x0001 #define MACH_IS_APRICOT 1 #endif