Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a7a430f authored by Mike Frysinger's avatar Mike Frysinger
Browse files

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: default avatarMike Frysinger <vapier@gentoo.org>
parent 934fe05b
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -69,13 +69,13 @@ do { \


#define bfin_write_or(addr, bits) \
#define bfin_write_or(addr, bits) \
do { \
do { \
	void *__addr = (void *)(addr); \
	typeof(addr) __addr = (addr); \
	bfin_write(__addr, bfin_read(__addr) | (bits)); \
	bfin_write(__addr, bfin_read(__addr) | (bits)); \
} while (0)
} while (0)


#define bfin_write_and(addr, bits) \
#define bfin_write_and(addr, bits) \
do { \
do { \
	void *__addr = (void *)(addr); \
	typeof(addr) __addr = (addr); \
	bfin_write(__addr, bfin_read(__addr) & (bits)); \
	bfin_write(__addr, bfin_read(__addr) & (bits)); \
} while (0)
} while (0)