From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Turner Subject: Re: [PATCH] atomic: add *_dec_not_zero Date: Wed, 4 May 2011 14:13:29 -0400 Message-ID: References: <1304458235-28473-1-git-send-email-sven@narfation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from mail-qw0-f46.google.com ([209.85.216.46]:49500 "EHLO mail-qw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755150Ab1EDSNu convert rfc822-to-8bit (ORCPT ); Wed, 4 May 2011 14:13:50 -0400 In-Reply-To: <1304458235-28473-1-git-send-email-sven@narfation.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Sven Eckelmann Cc: linux-kernel@vger.kernel.org, David Howells , Chris Metcalf , x86@kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, uclinux-dist-devel@blackfin.uclinux.org, linux-cris-kernel@axis.com, linux-ia64@vger.kernel.org, linux-m32r@ml.linux-m32r.org, linux-m68k@lists.linux-m68k.org, linux-mips@linux-mips.org, linux-am33-list@redhat.com, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-arch@vger.kernel.org On Tue, May 3, 2011 at 5:30 PM, Sven Eckelmann wro= te: > diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm= /atomic.h > index e756d04..7e9434e 100644 > --- a/arch/alpha/include/asm/atomic.h > +++ b/arch/alpha/include/asm/atomic.h > @@ -200,6 +200,7 @@ static __inline__ int atomic_add_unless(atomic_t = *v, int a, int u) > =A0} > > =A0#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) > +#define atomic_dec_not_zero(v) atomic_add_unless((v), -1, 0) > > =A0/** > =A0* atomic64_add_unless - add unless the number is a given value > @@ -226,6 +227,7 @@ static __inline__ int atomic64_add_unless(atomic6= 4_t *v, long a, long u) > =A0} > > =A0#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) > +#define atomic64_dec_not_zero(v) atomic64_add_unless((v), -1, 0) > > =A0#define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0= ) > =A0#define atomic64_add_negative(a, v) (atomic64_add_return((a), (v))= < 0) > diff --git a/arch/alpha/include/asm/local.h b/arch/alpha/include/asm/= local.h > index b9e3e33..09fb327 100644 > --- a/arch/alpha/include/asm/local.h > +++ b/arch/alpha/include/asm/local.h > @@ -79,6 +79,7 @@ static __inline__ long local_sub_return(long i, loc= al_t * l) > =A0 =A0 =A0 =A0c !=3D (u); =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \ > =A0}) > =A0#define local_inc_not_zero(l) local_add_unless((l), 1, 0) > +#define local_dec_not_zero(l) local_add_unless((l), -1, 0) > > =A0#define local_add_negative(a, l) (local_add_return((a), (l)) < 0) > Acked-by: Matt Turner [alpha]