summaryrefslogtreecommitdiff
path: root/arch/blackfin/include/asm
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-05-19 04:46:03 +0400
committerMike Frysinger <vapier@gentoo.org>2011-05-25 16:24:13 +0400
commit7a7a430f7498cd55820232d8e3f144161138f91a (patch)
tree891b1bf4f9df8d7a165cae1fc5707c569251673e /arch/blackfin/include/asm
parent934fe05bf0c743896b478fe3558a282911cfe621 (diff)
downloadlinux-7a7a430f7498cd55820232d8e3f144161138f91a.tar.xz
Blackfin: fix addr type with bfin_write_{or,and} helpers
Since the bfin_write() func needs proper type information in order to expand into the right bfin_writeX() variant, preserve the addr's type when setting up the local __addr. Otherwise the helpers will detect the variant based upon sizeof(void) which is almost never right. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/include/asm')
-rw-r--r--arch/blackfin/include/asm/def_LPBlackfin.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/blackfin/include/asm/def_LPBlackfin.h b/arch/blackfin/include/asm/def_LPBlackfin.h
index 6bc2db60712f..823679011457 100644
--- a/arch/blackfin/include/asm/def_LPBlackfin.h
+++ b/arch/blackfin/include/asm/def_LPBlackfin.h
@@ -69,13 +69,13 @@ do { \
#define bfin_write_or(addr, bits) \
do { \
- void *__addr = (void *)(addr); \
+ typeof(addr) __addr = (addr); \
bfin_write(__addr, bfin_read(__addr) | (bits)); \
} while (0)
#define bfin_write_and(addr, bits) \
do { \
- void *__addr = (void *)(addr); \
+ typeof(addr) __addr = (addr); \
bfin_write(__addr, bfin_read(__addr) & (bits)); \
} while (0)