diff options
author | Will Deacon <will.deacon@arm.com> | 2015-07-27 14:21:15 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-07-27 14:21:15 +0100 |
commit | fc9eb93cd4c5d819e9a68a7906d78ce37f42d8cd (patch) | |
tree | 821a265ae21cbc1b350afa05da413e89b89f034e /arch/arm64/include | |
parent | 772d68355e2f65f71e0402e39aabfdea56f55083 (diff) | |
parent | 41b9e9fcc1c44b84a785115058ce9c703e3fca6e (diff) | |
download | blackbird-obmc-linux-fc9eb93cd4c5d819e9a68a7906d78ce37f42d8cd.tar.gz blackbird-obmc-linux-fc9eb93cd4c5d819e9a68a7906d78ce37f42d8cd.zip |
Merge branch 'locking/arch-atomic' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into aarch64/for-next/core
Merge in PeterZ's logical atomic ops so that we can implement them in
our subsequent LSE atomics.
Diffstat (limited to 'arch/arm64/include')
-rw-r--r-- | arch/arm64/include/asm/atomic.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/atomic.h b/arch/arm64/include/asm/atomic.h index 7047051ded40..866a71fca9a3 100644 --- a/arch/arm64/include/asm/atomic.h +++ b/arch/arm64/include/asm/atomic.h @@ -85,6 +85,13 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \ ATOMIC_OPS(add, add) ATOMIC_OPS(sub, sub) +#define atomic_andnot atomic_andnot + +ATOMIC_OP(and, and) +ATOMIC_OP(andnot, bic) +ATOMIC_OP(or, orr) +ATOMIC_OP(xor, eor) + #undef ATOMIC_OPS #undef ATOMIC_OP_RETURN #undef ATOMIC_OP @@ -183,6 +190,13 @@ static inline long atomic64_##op##_return(long i, atomic64_t *v) \ ATOMIC64_OPS(add, add) ATOMIC64_OPS(sub, sub) +#define atomic64_andnot atomic64_andnot + +ATOMIC64_OP(and, and) +ATOMIC64_OP(andnot, bic) +ATOMIC64_OP(or, orr) +ATOMIC64_OP(xor, eor) + #undef ATOMIC64_OPS #undef ATOMIC64_OP_RETURN #undef ATOMIC64_OP |