From kernel-janitor-discuss-admin@lists.sourceforge.net Tue Apr 22 16:04:28 2003 Return-path: Envelope-to: bart@jukie.net Delivery-date: Tue, 22 Apr 2003 16:04:28 -0400 Received: from lists.sourceforge.net ([66.35.250.206]:47790 helo=sc8-sf-list2.sourceforge.net) by muon.jukie.net with esmtp (Exim 4.14) id 19840C-0006Ll-1K for bart@jukie.net; Tue, 22 Apr 2003 16:04:28 -0400 Received: from sc8-sf-list1-b.sourceforge.net ([10.3.1.13] helo=sc8-sf-list1.sourceforge.net) by sc8-sf-list2.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 1983z4-0008QP-00; Tue, 22 Apr 2003 13:03:18 -0700 Received: from cpe00c0f0141dc1-cm014160001801.cpe.net.cable.rogers.com ([24.42.47.5] helo=muon.jukie.net) by sc8-sf-list1.sourceforge.net with esmtp (Cipher TLSv1:DES-CBC3-SHA:168) (Exim 3.31-VA-mm2 #1 (Debian)) id 1983xd-0002j5-00 for ; Tue, 22 Apr 2003 13:01:50 -0700 Received: from bart by muon.jukie.net with local (Exim 4.14) id 1983xI-0006LC-2p; Tue, 22 Apr 2003 16:01:28 -0400 From: Bart Trojanowski To: linux-kernel@vger.kernel.org Cc: kernel-janitor-discuss@lists.sourceforge.net, trivial@rustcorp.com.au Subject: [PATCH 2.4.20] added missing functions to include/asm-arm/atomic.h Message-ID: <20030422160128.G1364@jukie.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i Sender: kernel-janitor-discuss-admin@lists.sourceforge.net Errors-To: kernel-janitor-discuss-admin@lists.sourceforge.net X-BeenThere: kernel-janitor-discuss@lists.sourceforge.net X-Mailman-Version: 2.0.9-sf.net Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: kernel janitor discussion list List-Unsubscribe: , List-Archive: X-Original-Date: Tue, 22 Apr 2003 16:01:28 -0400 Date: Tue, 22 Apr 2003 16:01:28 -0400 X-Exim-Procmail: user=bart, using /home/muon/bart/.procmailrc Status: RO Content-Length: 1355 Lines: 55 While porting a piece of code from i386 to arm, I've noticed that two atomic operations are missing from the asm-arm/atomic.h interface. The patch below adds these two missing functions with an aim of filling in the compatibility hole. Regards, Bart. --- linux-2.4.20/include/asm-arm/atomic.h.orig Tue Apr 22 15:37:48 2003 +++ linux-2.4.20/include/asm-arm/atomic.h Tue Apr 22 15:42:23 2003 @@ -68,6 +68,32 @@ __restore_flags(flags); } +static __inline__ int atomic_sub_and_test(int i, volatile atomic_t *v) +{ + unsigned long flags; + int result; + + __save_flags_cli(flags); + v->counter -= i; + result = (v->counter == 0); + __restore_flags(flags); + + return result; +} + +static __inline__ int atomic_inc_and_test(volatile atomic_t *v) +{ + unsigned long flags; + int result; + + __save_flags_cli(flags); + v->counter += 1; + result = (v->counter == 0); + __restore_flags(flags); + + return result; +} + static __inline__ int atomic_dec_and_test(volatile atomic_t *v) { unsigned long flags; ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Kernel-janitor-discuss mailing list Kernel-janitor-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kernel-janitor-discuss