Message ID | 20231104091615.4884-4-wuqiang.matt@bytedance.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | locking/atomic: arch_cmpxchg[64]_local undefined | expand |
On Sat, 4 Nov 2023 17:16:14 +0800 "wuqiang.matt" <wuqiang.matt@bytedance.com> wrote: > For architectures that support native cmpxchg, we'd like to > implement arch_cmpxchg[64]_local with the native variants of > supported data size. If not, the generci_cmpxchg[64]_local > will be used. Looks good to me. Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > > Signed-off-by: wuqiang.matt <wuqiang.matt@bytedance.com> > --- > arch/openrisc/include/asm/cmpxchg.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/openrisc/include/asm/cmpxchg.h b/arch/openrisc/include/asm/cmpxchg.h > index 8ee151c072e4..f1ffe8b6f5ef 100644 > --- a/arch/openrisc/include/asm/cmpxchg.h > +++ b/arch/openrisc/include/asm/cmpxchg.h > @@ -139,6 +139,12 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, > (unsigned long)(n), \ > sizeof(*(ptr))); \ > }) > +#define arch_cmpxchg_local arch_cmpxchg > + > +/* always make arch_cmpxchg64_local available for openrisc */ > +#include <asm-generic/cmpxchg-local.h> > + > +#define arch_cmpxchg64_local(ptr, o, n) __generic_cmpxchg64_local((ptr), (o), (n)) > > /* > * This function doesn't exist, so you'll get a linker error if > -- > 2.40.1 >
diff --git a/arch/openrisc/include/asm/cmpxchg.h b/arch/openrisc/include/asm/cmpxchg.h index 8ee151c072e4..f1ffe8b6f5ef 100644 --- a/arch/openrisc/include/asm/cmpxchg.h +++ b/arch/openrisc/include/asm/cmpxchg.h @@ -139,6 +139,12 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, (unsigned long)(n), \ sizeof(*(ptr))); \ }) +#define arch_cmpxchg_local arch_cmpxchg + +/* always make arch_cmpxchg64_local available for openrisc */ +#include <asm-generic/cmpxchg-local.h> + +#define arch_cmpxchg64_local(ptr, o, n) __generic_cmpxchg64_local((ptr), (o), (n)) /* * This function doesn't exist, so you'll get a linker error if
For architectures that support native cmpxchg, we'd like to implement arch_cmpxchg[64]_local with the native variants of supported data size. If not, the generci_cmpxchg[64]_local will be used. Signed-off-by: wuqiang.matt <wuqiang.matt@bytedance.com> --- arch/openrisc/include/asm/cmpxchg.h | 6 ++++++ 1 file changed, 6 insertions(+)