diff options
Diffstat (limited to 'kernel/arch/hexagon/include/asm/atomic.h')
-rw-r--r-- | kernel/arch/hexagon/include/asm/atomic.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/arch/hexagon/include/asm/atomic.h b/kernel/arch/hexagon/include/asm/atomic.h index 93d07025f..55696c410 100644 --- a/kernel/arch/hexagon/include/asm/atomic.h +++ b/kernel/arch/hexagon/include/asm/atomic.h @@ -48,7 +48,7 @@ static inline void atomic_set(atomic_t *v, int new) * * Assumes all word reads on our architecture are atomic. */ -#define atomic_read(v) ((v)->counter) +#define atomic_read(v) READ_ONCE((v)->counter) /** * atomic_xchg - atomic @@ -132,6 +132,10 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \ ATOMIC_OPS(add) ATOMIC_OPS(sub) +ATOMIC_OP(and) +ATOMIC_OP(or) +ATOMIC_OP(xor) + #undef ATOMIC_OPS #undef ATOMIC_OP_RETURN #undef ATOMIC_OP |