Messages in this thread | | | Date | Mon, 18 Jun 2018 16:54:40 +0100 | From | Will Deacon <> | Subject | Re: [PATCHv3 09/18] atomics/alpha: define atomic64_fetch_add_unless() |
| |
On Mon, Jun 18, 2018 at 11:19:10AM +0100, Mark Rutland wrote: > As a step towards unifying the atomic/atomic64/atomic_long APIs, this > patch converts the arch/alpha implementation of atomic64_add_unless() into > an implementation of atomic64_fetch_add_unless(). > > A wrapper in <linux/atomic.h> will build atomic_add_unless() atop of > this, provided it is given a preprocessor definition. > > No functional change is intended 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> > Cc: Richard Henderson <rth@twiddle.net> > Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > Cc: Matt Turner <mattst88@gmail.com> > --- > arch/alpha/include/asm/atomic.h | 23 ++++++++++++----------- > 1 file changed, 12 insertions(+), 11 deletions(-) > > diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h > index 4a800a3424a3..dcb7bbeeae02 100644 > --- a/arch/alpha/include/asm/atomic.h > +++ b/arch/alpha/include/asm/atomic.h > @@ -238,35 +238,36 @@ static __inline__ int atomic_fetch_add_unless(atomic_t *v, int a, int u) > #define atomic_fetch_add_unless atomic_fetch_add_unless > > /** > - * atomic64_add_unless - add unless the number is a given value > + * atomic64_fetch_add_unless - add unless the number is a given value > * @v: pointer of type atomic64_t > * @a: the amount to add to v... > * @u: ...unless v is equal to u. > * > * Atomically adds @a to @v, so long as it was not @u. > - * Returns true iff @v was not @u. > + * Returns the old value of @v. > */ > -static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) > +static __inline__ int atomic64_fetch_add_unless(atomic64_t *v, long a, long u)
Don't you want a 64-bit return type (e.g. long) here?
Will
| |