On Thu, Jul 09, 2015 at 07:28:58PM +0200, Peter Zijlstra wrote: > Implement atomic logic ops -- atomic_{or,xor,and}. > > These will replace the atomic_{set,clear}_mask functions that are > available on some archs. > > > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > --- > arch/arm/include/asm/atomic.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > --- a/arch/arm/include/asm/atomic.h > +++ b/arch/arm/include/asm/atomic.h > @@ -193,6 +193,9 @@ static inline int __atomic_add_unless(at > > ATOMIC_OPS(add, +=, add) > ATOMIC_OPS(sub, -=, sub) > +ATOMIC_OP(and, &=, and) > +ATOMIC_OP(or, |=, orr) > +ATOMIC_OP(xor, ^=, eor) > > #undef ATOMIC_OPS > #undef ATOMIC_OP_RETURN > @@ -320,6 +323,9 @@ static inline long long atomic64_##op##_ > > ATOMIC64_OPS(add, adds, adc) > ATOMIC64_OPS(sub, subs, sbc) > +ATOMIC64_OP(and, and, and) > +ATOMIC64_OP(or, or, or) Hmm, reading through them, this should be: ATOMIC64_OP(or, orr, orr) I suppose, not sure why the compiler didn't complain, maybe because there aren't any users.. > +ATOMIC64_OP(xor, eor, eor) > > #undef ATOMIC64_OPS > #undef ATOMIC64_OP_RETURN > > -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html