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

Commit b5fc12df authored by Mike Frysinger's avatar Mike Frysinger
Browse files

Blackfin: add bfin_write_{or,and} helpers

parent 4c131c8c
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -58,14 +58,26 @@
    ({ BUG(); 0; }); \
})
#define bfin_write(addr, val) \
({ \
do { \
	switch (sizeof(*(addr))) { \
	case 1: bfin_write8(addr, val);  break; \
	case 2: bfin_write16(addr, val); break; \
	case 4: bfin_write32(addr, val); break; \
	default: BUG(); \
	} \
})
} while (0)

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

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

#endif /* __ASSEMBLY__ */