Commit ba1fff7f authored by Henry Ptasinski's avatar Henry Ptasinski Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: Remove swaps in R_REG and W_REG macros



Swapping the addresses is unnecessary, since the swaps are handled by the
underlying platform code (i.e. readb() etc. handle any necessary swapping).

Tested on Mac G5 PPC and BCM63281.

Signed-off-by: default avatarHenry Ptasinski <henryp@broadcom.com>
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Tested-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8ac98a56
Loading
Loading
Loading
Loading
+4 −15
Original line number Diff line number Diff line
@@ -329,28 +329,17 @@ do { \
 * location are defined in only one spot. This reduces the risk of the
 * programmer trying to use an unsupported transaction size on a register.
 *
 * For big endian operation, a byte swap has to be done. Eg, when attempting
 * to read byte address 0, byte 3 should be read. This is accomplished
 * using an xor ('^') operator.
 */

#ifndef __BIG_ENDIAN
#define SWP2(r)	(r)
#define SWP3(r) (r)
#else
#define SWP2(r)	((unsigned long)(r)^2)
#define SWP3(r)	((unsigned long)(r)^3)
#endif /* __BIG_ENDIAN */

#define R_REG(r) \
	({ \
		__typeof(*(r)) __osl_v; \
		switch (sizeof(*(r))) { \
		case sizeof(u8): \
			__osl_v = readb((u8 *)(SWP3(r))); \
			__osl_v = readb((u8 *)(r)); \
			break; \
		case sizeof(u16): \
			__osl_v = readw((u16 *)(SWP2(r))); \
			__osl_v = readw((u16 *)(r)); \
			break; \
		case sizeof(u32): \
			__osl_v = readl((u32 *)(r)); \
@@ -362,10 +351,10 @@ do { \
#define W_REG(r, v) do { \
		switch (sizeof(*(r))) { \
		case sizeof(u8):	\
			writeb((u8)(v), (u8 *)(SWP3(r))); \
			writeb((u8)(v), (u8 *)(r)); \
			break; \
		case sizeof(u16):	\
			writew((u16)(v), (u16 *)(SWP2(r))); \
			writew((u16)(v), (u16 *)(r)); \
			break; \
		case sizeof(u32):	\
			writel((u32)(v), (u32 *)(r)); \