Skip to content

Commit

Permalink
staging: brcm80211: fixed build issue for big endian platforms
Browse files Browse the repository at this point in the history
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@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Roland Vossen authored and Greg Kroah-Hartman committed Aug 23, 2011
1 parent 9204df6 commit 98ff86e
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
1 change: 1 addition & 0 deletions drivers/staging/brcm80211/brcmsmac/dma.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#ifndef _BRCM_DMA_H_
#define _BRCM_DMA_H_

#include <linux/delay.h>
#include "types.h" /* forward structure declarations */

/* DMA structure:
Expand Down
8 changes: 4 additions & 4 deletions drivers/staging/brcm80211/brcmsmac/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)); \
Expand All @@ -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; \
Expand Down

0 comments on commit 98ff86e

Please sign in to comment.