diff options
author | Mark Rutland <mark.rutland@arm.com> | 2021-05-25 15:02:28 +0100 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-05-26 13:20:52 +0200 |
commit | 8c6417551309fe3654b5f761214303aef361d3e8 (patch) | |
tree | 2f7df63f71f6c1846e98550d0cf8106f5969960c /arch/sh/include/asm/cmpxchg.h | |
parent | locking/atomic: riscv: move to ARCH_ATOMIC (diff) | |
download | linux-dev-8c6417551309fe3654b5f761214303aef361d3e8.tar.xz linux-dev-8c6417551309fe3654b5f761214303aef361d3e8.zip |
locking/atomic: sh: move to ARCH_ATOMIC
We'd like all architectures to convert to ARCH_ATOMIC, as once all
architectures are converted it will be possible to make significant
cleanups to the atomics headers, and this will make it much easier to
generically enable atomic functionality (e.g. debug logic in the
instrumented wrappers).
As a step towards that, this patch migrates sh to ARCH_ATOMIC. The
arch code provides arch_{atomic,atomic64,xchg,cmpxchg}*(), and common
code wraps these with optional instrumentation to provide the regular
functions.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rich Felker <dalias@libc.org>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210525140232.53872-30-mark.rutland@arm.com
Diffstat (limited to '')
-rw-r--r-- | arch/sh/include/asm/cmpxchg.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/include/asm/cmpxchg.h b/arch/sh/include/asm/cmpxchg.h index e9501d85c278..0ed9b3f4a577 100644 --- a/arch/sh/include/asm/cmpxchg.h +++ b/arch/sh/include/asm/cmpxchg.h @@ -45,7 +45,7 @@ extern void __xchg_called_with_bad_pointer(void); __xchg__res; \ }) -#define xchg(ptr,x) \ +#define arch_xchg(ptr,x) \ ((__typeof__(*(ptr)))__xchg((ptr),(unsigned long)(x), sizeof(*(ptr)))) /* This function doesn't exist, so you'll get a linker error @@ -63,7 +63,7 @@ static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old, return old; } -#define cmpxchg(ptr,o,n) \ +#define arch_cmpxchg(ptr,o,n) \ ({ \ __typeof__(*(ptr)) _o_ = (o); \ __typeof__(*(ptr)) _n_ = (n); \ |