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>
This commit is contained in:
parent
934fe05bf0
commit
7a7a430f74
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue