Message ID | 20120301180953.0f61576f@kryten (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Thursday 01 March 2012 02:09:53 Anton Blanchard wrote: > We want to implement a ppc64 specific version of atomic_inc_not_zero > so wrap it in an ifdef to allow it to be overridden. Acked-by: Mike Frysinger <vapier@gentoo.org> -mike
On Thu, 1 Mar 2012 18:09:53 +1100 Anton Blanchard <anton@samba.org> wrote: > > We want to implement a ppc64 specific version of atomic_inc_not_zero > so wrap it in an ifdef to allow it to be overridden. > > Signed-off-by: Anton Blanchard <anton@samba.org> > --- > > Index: linux-build/include/linux/atomic.h > =================================================================== > --- linux-build.orig/include/linux/atomic.h 2012-02-11 14:59:23.284714257 +1100 > +++ linux-build/include/linux/atomic.h 2012-02-11 15:01:14.894764555 +1100 > @@ -24,7 +24,9 @@ static inline int atomic_add_unless(atom > * Atomically increments @v by 1, so long as @v is non-zero. > * Returns non-zero if @v was non-zero, and zero otherwise. > */ > +#ifndef atomic_inc_not_zero > #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) > +#endif Please merge this via the ppc tree? And let's ask the hexagon maintainers to take a look at the definition in arch/hexagon/include/asm/atomic.h. I assume that it can be removed, but that might cause problems with files which include asm/atomic.h directly. I have found two such files in non-arch code and have queued fixes. There are no such files in arch/hexagon code, so I think it's safe to zap the hexagon definition of atomic_inc_not_zero(). > +static __inline__ int atomic_inc_not_zero(atomic_t *v) Curious: is there a technical reason why ppc uses "__inline__" rather than "inline"?
On Thu, Mar 01, 2012 at 03:02:56PM -0800, Andrew Morton wrote: > Please merge this via the ppc tree? > > > And let's ask the hexagon maintainers to take a look at the definition > in arch/hexagon/include/asm/atomic.h. I assume that it can be removed, > but that might cause problems with files which include asm/atomic.h > directly. I have found two such files in non-arch code and have queued > fixes. There are no such files in arch/hexagon code, so I think it's > safe to zap the hexagon definition of atomic_inc_not_zero(). Just tested it; it's safe to zap the Hexagon definition of atomic_inc_not_zero()... I'm fine with this going in through some other tree (still getting mine set up). Thanks, Richard Kuo
Index: linux-build/include/linux/atomic.h =================================================================== --- linux-build.orig/include/linux/atomic.h 2012-02-11 14:59:23.284714257 +1100 +++ linux-build/include/linux/atomic.h 2012-02-11 15:01:14.894764555 +1100 @@ -24,7 +24,9 @@ static inline int atomic_add_unless(atom * Atomically increments @v by 1, so long as @v is non-zero. * Returns non-zero if @v was non-zero, and zero otherwise. */ +#ifndef atomic_inc_not_zero #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) +#endif /** * atomic_inc_not_zero_hint - increment if not null
We want to implement a ppc64 specific version of atomic_inc_not_zero so wrap it in an ifdef to allow it to be overridden. Signed-off-by: Anton Blanchard <anton@samba.org> ---