Message ID | 20180529154346.3168-3-mark.rutland@arm.com |
---|---|
State | Superseded |
Headers | show |
Series | atomics: API cleanups | expand |
On Tue, 29 May 2018 08:43:32 PDT (-0700), mark.rutland@arm.com wrote: > When atomic_inc_not_zero(v) isn't defined, <linux/atomic.h> will define > it as falling back to atomic_add_unless((v), 1, 0), so there's no need > for arch code to do so. > > There should be no functional change as a result of this patch. > > Signed-off-by: Mark Rutland <mark.rutland@arm.com> > Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> > Cc: Boqun Feng <boqun.feng@gmail.com> > Cc: Will Deacon <will.deacon@arm.com> > --- > arch/arc/include/asm/atomic.h | 2 -- > arch/hexagon/include/asm/atomic.h | 2 -- > arch/riscv/include/asm/atomic.h | 9 --------- > 3 files changed, 13 deletions(-) > [...] > diff --git a/arch/riscv/include/asm/atomic.h b/arch/riscv/include/asm/atomic.h > index 739e810c857e..0e27e050ba14 100644 > --- a/arch/riscv/include/asm/atomic.h > +++ b/arch/riscv/include/asm/atomic.h > @@ -375,15 +375,6 @@ static __always_inline int atomic64_add_unless(atomic64_t *v, long a, long u) > } > #endif > > -/* > - * The extra atomic operations that are constructed from one of the core > - * LR/SC-based operations above. > - */ > -static __always_inline int atomic_inc_not_zero(atomic_t *v) > -{ > - return atomic_fetch_add_unless(v, 1, 0); > -} > - > #ifndef CONFIG_GENERIC_ATOMIC64 > static __always_inline long atomic64_inc_not_zero(atomic64_t *v) > { Acked-by: Palmer Dabbelt <palmer@sifive.com> Thanks!
diff --git a/arch/arc/include/asm/atomic.h b/arch/arc/include/asm/atomic.h index 67121b5ff3a3..cecdf3403caf 100644 --- a/arch/arc/include/asm/atomic.h +++ b/arch/arc/include/asm/atomic.h @@ -336,8 +336,6 @@ ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3) c; \ }) -#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) - #define atomic_inc(v) atomic_add(1, v) #define atomic_dec(v) atomic_sub(1, v) diff --git a/arch/hexagon/include/asm/atomic.h b/arch/hexagon/include/asm/atomic.h index 287aa9f394f3..d2feeba93c44 100644 --- a/arch/hexagon/include/asm/atomic.h +++ b/arch/hexagon/include/asm/atomic.h @@ -197,8 +197,6 @@ static inline int atomic_fetch_add_unless(atomic_t *v, int a, int u) return __oldval; } -#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) - #define atomic_inc(v) atomic_add(1, (v)) #define atomic_dec(v) atomic_sub(1, (v)) diff --git a/arch/riscv/include/asm/atomic.h b/arch/riscv/include/asm/atomic.h index 739e810c857e..0e27e050ba14 100644 --- a/arch/riscv/include/asm/atomic.h +++ b/arch/riscv/include/asm/atomic.h @@ -375,15 +375,6 @@ static __always_inline int atomic64_add_unless(atomic64_t *v, long a, long u) } #endif -/* - * The extra atomic operations that are constructed from one of the core - * LR/SC-based operations above. - */ -static __always_inline int atomic_inc_not_zero(atomic_t *v) -{ - return atomic_fetch_add_unless(v, 1, 0); -} - #ifndef CONFIG_GENERIC_ATOMIC64 static __always_inline long atomic64_inc_not_zero(atomic64_t *v) {