summaryrefslogtreecommitdiffstats
path: root/arch/arm64
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2017-07-07 18:01:50 +0200
committerWill Deacon <will.deacon@arm.com>2017-07-20 11:20:54 +0200
commit32fb5d73c98b079e7c815b62e9d88a39ff8ce509 (patch)
treee7624355431132782ebf5e66404291c026eca667 /arch/arm64
parentarm64: uaccess: Remove redundant __force from addr cast in __range_ok (diff)
downloadlinux-32fb5d73c98b079e7c815b62e9d88a39ff8ce509.tar.xz
linux-32fb5d73c98b079e7c815b62e9d88a39ff8ce509.zip
arm64: atomics: Remove '&' from '+&' asm constraint in lse atomics
The lse implementation of atomic64_dec_if_positive uses the '+&' constraint, but the '&' is redundant and confusing in this case, since early clobber on a read/write operand is a strange concept. Replace the constraint with '+'. Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/include/asm/atomic_lse.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/atomic_lse.h b/arch/arm64/include/asm/atomic_lse.h
index 99fa69c9c3cf..9ef0797380cb 100644
--- a/arch/arm64/include/asm/atomic_lse.h
+++ b/arch/arm64/include/asm/atomic_lse.h
@@ -435,7 +435,7 @@ static inline long atomic64_dec_if_positive(atomic64_t *v)
" sub x30, x30, %[ret]\n"
" cbnz x30, 1b\n"
"2:")
- : [ret] "+&r" (x0), [v] "+Q" (v->counter)
+ : [ret] "+r" (x0), [v] "+Q" (v->counter)
:
: __LL_SC_CLOBBERS, "cc", "memory");