Message ID | 1237694320.25297.3.camel@localhost.localdomain (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Sun, Mar 22, 2009 at 03:58:40AM +0000, James Bottomley wrote: > > > I think that platform's atomic_add() implementation should > > > be fixed instead. > > > > It is parisc, CC added. > > Looks like a macro argument screw up in atomic.h > > This should fix it (uncompiled, of course). > Looks correct to me. Applied. Thanks everyone. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Mar 22, 2009 at 12:06:29PM -0400, Kyle McMartin wrote: > On Sun, Mar 22, 2009 at 03:58:40AM +0000, James Bottomley wrote: > > > > I think that platform's atomic_add() implementation should > > > > be fixed instead. > > > > > > It is parisc, CC added. > > > > Looks like a macro argument screw up in atomic.h > > > > This should fix it (uncompiled, of course). > > > > Looks correct to me. Applied. Thanks everyone. > Oh, bah, want to resend that with a sign-off, James? regards, Kyle -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 2009-03-30 at 22:41 -0400, Kyle McMartin wrote: > On Sun, Mar 22, 2009 at 12:06:29PM -0400, Kyle McMartin wrote: > > On Sun, Mar 22, 2009 at 03:58:40AM +0000, James Bottomley wrote: > > > > > I think that platform's atomic_add() implementation should > > > > > be fixed instead. > > > > > > > > It is parisc, CC added. > > > > > > Looks like a macro argument screw up in atomic.h > > > > > > This should fix it (uncompiled, of course). > > > > > > > Looks correct to me. Applied. Thanks everyone. > > > > Oh, bah, want to resend that with a sign-off, James? You can add: Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Mar 30, 2009 at 10:06:16PM -0500, James Bottomley wrote: > On Mon, 2009-03-30 at 22:41 -0400, Kyle McMartin wrote: > > On Sun, Mar 22, 2009 at 12:06:29PM -0400, Kyle McMartin wrote: > > > On Sun, Mar 22, 2009 at 03:58:40AM +0000, James Bottomley wrote: > > > > > > I think that platform's atomic_add() implementation should > > > > > > be fixed instead. > > > > > > > > > > It is parisc, CC added. > > > > > > > > Looks like a macro argument screw up in atomic.h > > > > > > > > This should fix it (uncompiled, of course). > > > > > > > > > > Looks correct to me. Applied. Thanks everyone. > > > > > > > Oh, bah, want to resend that with a sign-off, James? > > You can add: > > Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> > Thanks! Sorted. cheers, Kyle -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h index edbfe25..ada3e53 100644 --- a/arch/parisc/include/asm/atomic.h +++ b/arch/parisc/include/asm/atomic.h @@ -25,7 +25,7 @@ * Since "a" is usually an address, use one spinlock per cacheline. */ # define ATOMIC_HASH_SIZE 4 -# define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) a)/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ])) +# define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) (a))/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ])) extern raw_spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned; @@ -222,13 +222,13 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) -#define atomic_add(i,v) ((void)(__atomic_add_return( ((int)i),(v)))) -#define atomic_sub(i,v) ((void)(__atomic_add_return(-((int)i),(v)))) +#define atomic_add(i,v) ((void)(__atomic_add_return( ((int)(i)),(v)))) +#define atomic_sub(i,v) ((void)(__atomic_add_return(-((int)(i)),(v)))) #define atomic_inc(v) ((void)(__atomic_add_return( 1,(v)))) #define atomic_dec(v) ((void)(__atomic_add_return( -1,(v)))) -#define atomic_add_return(i,v) (__atomic_add_return( ((int)i),(v))) -#define atomic_sub_return(i,v) (__atomic_add_return(-((int)i),(v))) +#define atomic_add_return(i,v) (__atomic_add_return( ((int)(i)),(v))) +#define atomic_sub_return(i,v) (__atomic_add_return(-((int)(i)),(v))) #define atomic_inc_return(v) (__atomic_add_return( 1,(v))) #define atomic_dec_return(v) (__atomic_add_return( -1,(v))) @@ -289,13 +289,13 @@ atomic64_read(const atomic64_t *v) return v->counter; } -#define atomic64_add(i,v) ((void)(__atomic64_add_return( ((s64)i),(v)))) -#define atomic64_sub(i,v) ((void)(__atomic64_add_return(-((s64)i),(v)))) +#define atomic64_add(i,v) ((void)(__atomic64_add_return( ((s64)(i)),(v)))) +#define atomic64_sub(i,v) ((void)(__atomic64_add_return(-((s64)(i)),(v)))) #define atomic64_inc(v) ((void)(__atomic64_add_return( 1,(v)))) #define atomic64_dec(v) ((void)(__atomic64_add_return( -1,(v)))) -#define atomic64_add_return(i,v) (__atomic64_add_return( ((s64)i),(v))) -#define atomic64_sub_return(i,v) (__atomic64_add_return(-((s64)i),(v))) +#define atomic64_add_return(i,v) (__atomic64_add_return( ((s64)(i)),(v))) +#define atomic64_sub_return(i,v) (__atomic64_add_return(-((s64)(i)),(v))) #define atomic64_inc_return(v) (__atomic64_add_return( 1,(v))) #define atomic64_dec_return(v) (__atomic64_add_return( -1,(v)))