Messages in this thread Patch in this message | | | Date | Thu, 16 Jul 2015 19:21:11 +0200 | From | Peter Zijlstra <> | Subject | [PATCH 01/28] atomic: Prepare generic atomic implementation for logic ops |
| |
Clean up the #ifdef guards a bit to prepare for architectures to supply their own logic ops.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- include/asm-generic/atomic.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
--- a/include/asm-generic/atomic.h +++ b/include/asm-generic/atomic.h @@ -98,14 +98,22 @@ ATOMIC_OP_RETURN(add, +) ATOMIC_OP_RETURN(sub, -) #endif -#ifndef atomic_clear_mask +#ifndef atomic_and ATOMIC_OP(and, &) +#endif + +#ifndef atomic_clear_mask #define atomic_clear_mask(i, v) atomic_and(~(i), (v)) #endif -#ifndef atomic_set_mask +#ifndef atomic_or +#ifndef CONFIG_ARCH_HAS_ATOMIC_OR #define CONFIG_ARCH_HAS_ATOMIC_OR +#endif ATOMIC_OP(or, |) +#endif + +#ifndef atomic_set_mask #define atomic_set_mask(i, v) atomic_or((i), (v)) #endif
| |