From: Roland Vossen <rvossen@xxxxxxxxxxxx> Driver now builds for big endian mips platform, possibly also for other big endian platforms. A change was made to the R_REG and W_REG macro's. These macro's perform an xor (^) operation for endianess swap purposes. Gcc complained because an xor operation is not allowed on a pointer type. Fixed this by casting the pointer to an unsigned long. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> --- drivers/staging/brcm80211/brcmsmac/dma.h | 1 + drivers/staging/brcm80211/brcmsmac/types.h | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/staging/brcm80211/brcmsmac/dma.h b/drivers/staging/brcm80211/brcmsmac/dma.h index 3ff109f..334f2eb 100644 --- a/drivers/staging/brcm80211/brcmsmac/dma.h +++ b/drivers/staging/brcm80211/brcmsmac/dma.h @@ -17,6 +17,7 @@ #ifndef _BRCM_DMA_H_ #define _BRCM_DMA_H_ +#include <linux/delay.h> #include "types.h" /* forward structure declarations */ /* DMA structure: diff --git a/drivers/staging/brcm80211/brcmsmac/types.h b/drivers/staging/brcm80211/brcmsmac/types.h index e0880a0..ab97718 100644 --- a/drivers/staging/brcm80211/brcmsmac/types.h +++ b/drivers/staging/brcm80211/brcmsmac/types.h @@ -305,11 +305,11 @@ do { \ switch (sizeof(*(r))) { \ case sizeof(u8): \ __osl_v = \ - readb((u8 *)((r)^3)); \ + readb((u8 *)((unsigned long)(r)^3)); \ break; \ case sizeof(u16): \ __osl_v = \ - readw((u16 *)((r)^2)); \ + readw((u16 *)((unsigned long)(r)^2)); \ break; \ case sizeof(u32): \ __osl_v = readl((u32 *)(r)); \ @@ -322,10 +322,10 @@ do { \ switch (sizeof(*(r))) { \ case sizeof(u8): \ writeb((u8)(v), \ - (u8 *)((r)^3)); break; \ + (u8 *)((unsigned long)(r)^3)); break; \ case sizeof(u16): \ writew((u16)(v), \ - (u16 *)((r)^2)); break; \ + (u16 *)((unsigned long)(r)^2)); break; \ case sizeof(u32): \ writel((u32)(v), \ (u32 *)(r)); break; \ -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html