Re: [PATCH 1/2] atomic.h atomic64_t standardization

From: Mathieu Desnoyers
Date: Thu Nov 30 2006 - 22:47:17 EST


* Paul Mundt (lethal@xxxxxxxxxxxx) wrote:
> On Thu, Nov 30, 2006 at 10:11:53PM -0500, Mathieu Desnoyers wrote:
> > --- a/include/asm-generic/atomic.h
> > +++ b/include/asm-generic/atomic.h
> [snip]
> > +#if 0
> > +/* Atomic add unless is only effective on atomic_t on powerpc (at least) */
> > +static inline long atomic_long_add_unless(atomic_long_t *l, long a, long u)
> > +{
> > + atomic_t *v = (atomic_t *)l;
> > +
> > + return atomic_add_unless(v, a, u);
> > +}
> > +
> > +static inline long atomic_long_inc_not_zero(atomic_long_t *l)
> > +{
> > + atomic_t *v = (atomic_t *)l;
> > +
> > + return atomic_inc_not_zero(v);
> > +}
> > +#endif //0
> > +
>
> Why is this in the patch?
>

Oops, I forgot to remove these comments after I fixed it in the powerpc code.
Code for all other architectures will have to modified too : I just modified
i386, x86_64, mips, arm and powerpc.

Thanks for reporting.

Mathieu


Here is the fix :


--- a/include/asm-generic/atomic.h
+++ b/include/asm-generic/atomic.h
@@ -122,22 +122,19 @@ static inline long atomic_long_dec_retur
return atomic64_dec_return(v);
}

-#if 0
-/* Atomic add unless is only effective on atomic_t on powerpc (at least) */
static inline long atomic_long_add_unless(atomic_long_t *l, long a, long u)
{
- atomic_t *v = (atomic_t *)l;
+ atomic64_t *v = (atomic64_t *)l;

- return atomic_add_unless(v, a, u);
+ return atomic64_add_unless(v, a, u);
}

static inline long atomic_long_inc_not_zero(atomic_long_t *l)
{
- atomic_t *v = (atomic_t *)l;
+ atomic64_t *v = (atomic64_t *)l;

- return atomic_inc_not_zero(v);
+ return atomic64_inc_not_zero(v);
}
-#endif //0

#else



OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/