Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 2 Apr 2024 13:03:13 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH 1/8] sparc32: make __cmpxchg_u32() return u32 |
| |
On Tue, Apr 02, 2024 at 12:28:28AM -0400, Al Viro wrote: > Conversion between u32 and unsigned long is tautological there, > and the only use of return value is to return it from > __cmpxchg() (which return unsigned long). > > Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
I have pulled these in as replacements for my patches in the meantime.
Thank you!
Thanx, Paul
> --- > arch/sparc/include/asm/cmpxchg_32.h | 2 +- > arch/sparc/lib/atomic32.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/sparc/include/asm/cmpxchg_32.h b/arch/sparc/include/asm/cmpxchg_32.h > index d0af82c240b7..112bfaa28729 100644 > --- a/arch/sparc/include/asm/cmpxchg_32.h > +++ b/arch/sparc/include/asm/cmpxchg_32.h > @@ -39,7 +39,7 @@ static __always_inline unsigned long __arch_xchg(unsigned long x, __volatile__ v > /* bug catcher for when unsupported size is used - won't link */ > void __cmpxchg_called_with_bad_pointer(void); > /* we only need to support cmpxchg of a u32 on sparc */ > -unsigned long __cmpxchg_u32(volatile u32 *m, u32 old, u32 new_); > +u32 __cmpxchg_u32(volatile u32 *m, u32 old, u32 new_); > > /* don't worry...optimizer will get rid of most of this */ > static inline unsigned long > diff --git a/arch/sparc/lib/atomic32.c b/arch/sparc/lib/atomic32.c > index cf80d1ae352b..d90d756123d8 100644 > --- a/arch/sparc/lib/atomic32.c > +++ b/arch/sparc/lib/atomic32.c > @@ -159,7 +159,7 @@ unsigned long sp32___change_bit(unsigned long *addr, unsigned long mask) > } > EXPORT_SYMBOL(sp32___change_bit); > > -unsigned long __cmpxchg_u32(volatile u32 *ptr, u32 old, u32 new) > +u32 __cmpxchg_u32(volatile u32 *ptr, u32 old, u32 new) > { > unsigned long flags; > u32 prev; > @@ -169,7 +169,7 @@ unsigned long __cmpxchg_u32(volatile u32 *ptr, u32 old, u32 new) > *ptr = new; > spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags); > > - return (unsigned long)prev; > + return prev; > } > EXPORT_SYMBOL(__cmpxchg_u32); > > -- > 2.39.2 >
| ![\](/images/icornerr.gif) |