|
Takashi Iwai |
5340b0 |
From 8e6082e94aac6d0338883b5953631b662a5a9188 Mon Sep 17 00:00:00 2001
|
|
Takashi Iwai |
5340b0 |
From: Mark Rutland <mark.rutland@arm.com>
|
|
Takashi Iwai |
5340b0 |
Date: Fri, 10 Dec 2021 15:14:06 +0000
|
|
Takashi Iwai |
5340b0 |
Subject: [PATCH] arm64: atomics: format whitespace consistently
|
|
Takashi Iwai |
5340b0 |
Git-commit: 8e6082e94aac6d0338883b5953631b662a5a9188
|
|
Takashi Iwai |
5340b0 |
Patch-mainline: v5.17-rc1
|
|
Takashi Iwai |
5340b0 |
References: git-fixes
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
The code for the atomic ops is formatted inconsistently, and while this
|
|
Takashi Iwai |
5340b0 |
is not a functional problem it is rather distracting when working on
|
|
Takashi Iwai |
5340b0 |
them.
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
Some have ops have consistent indentation, e.g.
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
| #define ATOMIC_OP_ADD_RETURN(name, mb, cl...) \
|
|
Takashi Iwai |
5340b0 |
| static inline int __lse_atomic_add_return##name(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
| { \
|
|
Takashi Iwai |
5340b0 |
| u32 tmp; \
|
|
Takashi Iwai |
5340b0 |
| \
|
|
Takashi Iwai |
5340b0 |
| asm volatile( \
|
|
Takashi Iwai |
5340b0 |
| __LSE_PREAMBLE \
|
|
Takashi Iwai |
5340b0 |
| " ldadd" #mb " %w[i], %w[tmp], %[v]\n" \
|
|
Takashi Iwai |
5340b0 |
| " add %w[i], %w[i], %w[tmp]" \
|
|
Takashi Iwai |
5340b0 |
| : [i] "+r" (i), [v] "+Q" (v->counter), [tmp] "=&r" (tmp) \
|
|
Takashi Iwai |
5340b0 |
| : "r" (v) \
|
|
Takashi Iwai |
5340b0 |
| : cl); \
|
|
Takashi Iwai |
5340b0 |
| \
|
|
Takashi Iwai |
5340b0 |
| return i; \
|
|
Takashi Iwai |
5340b0 |
| }
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
While others have negative indentation for some lines, and/or have
|
|
Takashi Iwai |
5340b0 |
misaligned trailing backslashes, e.g.
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
| static inline void __lse_atomic_##op(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
| { \
|
|
Takashi Iwai |
5340b0 |
| asm volatile( \
|
|
Takashi Iwai |
5340b0 |
| __LSE_PREAMBLE \
|
|
Takashi Iwai |
5340b0 |
| " " #asm_op " %w[i], %[v]\n" \
|
|
Takashi Iwai |
5340b0 |
| : [i] "+r" (i), [v] "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
| : "r" (v)); \
|
|
Takashi Iwai |
5340b0 |
| }
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
This patch makes the indentation consistent and also aligns the trailing
|
|
Takashi Iwai |
5340b0 |
backslashes. This makes the code easier to read for those (like myself)
|
|
Takashi Iwai |
5340b0 |
who are easily distracted by these inconsistencies.
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
This is intended as a cleanup.
|
|
Takashi Iwai |
5340b0 |
There should be no functional change as a result of this patch.
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
|
|
Takashi Iwai |
5340b0 |
Cc: Boqun Feng <boqun.feng@gmail.com>
|
|
Takashi Iwai |
5340b0 |
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
Takashi Iwai |
5340b0 |
Cc: Will Deacon <will@kernel.org>
|
|
Takashi Iwai |
5340b0 |
Acked-by: Will Deacon <will@kernel.org>
|
|
Takashi Iwai |
5340b0 |
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
|
|
Takashi Iwai |
5340b0 |
Link: https://lore.kernel.org/r/20211210151410.2782645-2-mark.rutland@arm.com
|
|
Takashi Iwai |
5340b0 |
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
Takashi Iwai |
5340b0 |
Acked-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
---
|
|
Takashi Iwai |
5340b0 |
arch/arm64/include/asm/atomic_ll_sc.h | 86 +++++++++++++--------------
|
|
Takashi Iwai |
5340b0 |
arch/arm64/include/asm/atomic_lse.h | 14 ++---
|
|
Takashi Iwai |
5340b0 |
2 files changed, 50 insertions(+), 50 deletions(-)
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
diff --git a/arch/arm64/include/asm/atomic_ll_sc.h b/arch/arm64/include/asm/atomic_ll_sc.h
|
|
Takashi Iwai |
5340b0 |
index 13869b76b58c..fe0db8d416fb 100644
|
|
Takashi Iwai |
5340b0 |
--- a/arch/arm64/include/asm/atomic_ll_sc.h
|
|
Takashi Iwai |
5340b0 |
+++ b/arch/arm64/include/asm/atomic_ll_sc.h
|
|
Takashi Iwai |
5340b0 |
@@ -44,11 +44,11 @@ __ll_sc_atomic_##op(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic_" #op "\n" \
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK( \
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-"1: ldxr %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %w0, %w0, %w3\n" \
|
|
Takashi Iwai |
5340b0 |
-" stxr %w1, %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w1, 1b\n") \
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ "1: ldxr %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %w0, %w0, %w3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " stxr %w1, %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w1, 1b\n") \
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: __stringify(constraint) "r" (i)); \
|
|
Takashi Iwai |
5340b0 |
}
|
|
Takashi Iwai |
5340b0 |
@@ -62,12 +62,12 @@ __ll_sc_atomic_##op##_return##name(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic_" #op "_return" #name "\n" \
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK( \
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-"1: ld" #acq "xr %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %w0, %w0, %w3\n" \
|
|
Takashi Iwai |
5340b0 |
-" st" #rel "xr %w1, %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w1, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #mb ) \
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ "1: ld" #acq "xr %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %w0, %w0, %w3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " st" #rel "xr %w1, %w0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w1, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #mb ) \
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: __stringify(constraint) "r" (i) \
|
|
Takashi Iwai |
5340b0 |
: cl); \
|
|
Takashi Iwai |
5340b0 |
@@ -84,12 +84,12 @@ __ll_sc_atomic_fetch_##op##name(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic_fetch_" #op #name "\n" \
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK( \
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-"1: ld" #acq "xr %w0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %w1, %w0, %w4\n" \
|
|
Takashi Iwai |
5340b0 |
-" st" #rel "xr %w2, %w1, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w2, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #mb ) \
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ "1: ld" #acq "xr %w0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %w1, %w0, %w4\n" \
|
|
Takashi Iwai |
5340b0 |
+ " st" #rel "xr %w2, %w1, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w2, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #mb ) \
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (val), "=&r" (tmp), "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: __stringify(constraint) "r" (i) \
|
|
Takashi Iwai |
5340b0 |
: cl); \
|
|
Takashi Iwai |
5340b0 |
@@ -143,11 +143,11 @@ __ll_sc_atomic64_##op(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic64_" #op "\n" \
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK( \
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-"1: ldxr %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %0, %0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-" stxr %w1, %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w1, 1b") \
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ "1: ldxr %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %0, %0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " stxr %w1, %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w1, 1b") \
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: __stringify(constraint) "r" (i)); \
|
|
Takashi Iwai |
5340b0 |
}
|
|
Takashi Iwai |
5340b0 |
@@ -161,12 +161,12 @@ __ll_sc_atomic64_##op##_return##name(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic64_" #op "_return" #name "\n" \
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK( \
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-"1: ld" #acq "xr %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %0, %0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-" st" #rel "xr %w1, %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w1, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #mb ) \
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ "1: ld" #acq "xr %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %0, %0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " st" #rel "xr %w1, %0, %2\n" \
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w1, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #mb ) \
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: __stringify(constraint) "r" (i) \
|
|
Takashi Iwai |
5340b0 |
: cl); \
|
|
Takashi Iwai |
5340b0 |
@@ -176,19 +176,19 @@ __ll_sc_atomic64_##op##_return##name(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
#define ATOMIC64_FETCH_OP(name, mb, acq, rel, cl, op, asm_op, constraint)\
|
|
Takashi Iwai |
5340b0 |
static inline long \
|
|
Takashi Iwai |
5340b0 |
-__ll_sc_atomic64_fetch_##op##name(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
+__ll_sc_atomic64_fetch_##op##name(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
{ \
|
|
Takashi Iwai |
5340b0 |
s64 result, val; \
|
|
Takashi Iwai |
5340b0 |
unsigned long tmp; \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic64_fetch_" #op #name "\n" \
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK( \
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-"1: ld" #acq "xr %0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %1, %0, %4\n" \
|
|
Takashi Iwai |
5340b0 |
-" st" #rel "xr %w2, %1, %3\n" \
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w2, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
-" " #mb ) \
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ "1: ld" #acq "xr %0, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %1, %0, %4\n" \
|
|
Takashi Iwai |
5340b0 |
+ " st" #rel "xr %w2, %1, %3\n" \
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w2, 1b\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #mb ) \
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (val), "=&r" (tmp), "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: __stringify(constraint) "r" (i) \
|
|
Takashi Iwai |
5340b0 |
: cl); \
|
|
Takashi Iwai |
5340b0 |
@@ -241,14 +241,14 @@ __ll_sc_atomic64_dec_if_positive(atomic64_t *v)
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
asm volatile("// atomic64_dec_if_positive\n"
|
|
Takashi Iwai |
5340b0 |
__LL_SC_FALLBACK(
|
|
Takashi Iwai |
5340b0 |
-" prfm pstl1strm, %2\n"
|
|
Takashi Iwai |
5340b0 |
-"1: ldxr %0, %2\n"
|
|
Takashi Iwai |
5340b0 |
-" subs %0, %0, #1\n"
|
|
Takashi Iwai |
5340b0 |
-" b.lt 2f\n"
|
|
Takashi Iwai |
5340b0 |
-" stlxr %w1, %0, %2\n"
|
|
Takashi Iwai |
5340b0 |
-" cbnz %w1, 1b\n"
|
|
Takashi Iwai |
5340b0 |
-" dmb ish\n"
|
|
Takashi Iwai |
5340b0 |
-"2:")
|
|
Takashi Iwai |
5340b0 |
+ " prfm pstl1strm, %2\n"
|
|
Takashi Iwai |
5340b0 |
+ "1: ldxr %0, %2\n"
|
|
Takashi Iwai |
5340b0 |
+ " subs %0, %0, #1\n"
|
|
Takashi Iwai |
5340b0 |
+ " b.lt 2f\n"
|
|
Takashi Iwai |
5340b0 |
+ " stlxr %w1, %0, %2\n"
|
|
Takashi Iwai |
5340b0 |
+ " cbnz %w1, 1b\n"
|
|
Takashi Iwai |
5340b0 |
+ " dmb ish\n"
|
|
Takashi Iwai |
5340b0 |
+ "2:")
|
|
Takashi Iwai |
5340b0 |
: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
|
|
Takashi Iwai |
5340b0 |
:
|
|
Takashi Iwai |
5340b0 |
: "cc", "memory");
|
|
Takashi Iwai |
5340b0 |
diff --git a/arch/arm64/include/asm/atomic_lse.h b/arch/arm64/include/asm/atomic_lse.h
|
|
Takashi Iwai |
5340b0 |
index da3280f639cd..ab661375835e 100644
|
|
Takashi Iwai |
5340b0 |
--- a/arch/arm64/include/asm/atomic_lse.h
|
|
Takashi Iwai |
5340b0 |
+++ b/arch/arm64/include/asm/atomic_lse.h
|
|
Takashi Iwai |
5340b0 |
@@ -11,11 +11,11 @@
|
|
Takashi Iwai |
5340b0 |
#define __ASM_ATOMIC_LSE_H
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
#define ATOMIC_OP(op, asm_op) \
|
|
Takashi Iwai |
5340b0 |
-static inline void __lse_atomic_##op(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
+static inline void __lse_atomic_##op(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
{ \
|
|
Takashi Iwai |
5340b0 |
asm volatile( \
|
|
Takashi Iwai |
5340b0 |
__LSE_PREAMBLE \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %w[i], %[v]\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %w[i], %[v]\n" \
|
|
Takashi Iwai |
5340b0 |
: [i] "+r" (i), [v] "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: "r" (v)); \
|
|
Takashi Iwai |
5340b0 |
}
|
|
Takashi Iwai |
5340b0 |
@@ -32,7 +32,7 @@ static inline int __lse_atomic_fetch_##op##name(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
{ \
|
|
Takashi Iwai |
5340b0 |
asm volatile( \
|
|
Takashi Iwai |
5340b0 |
__LSE_PREAMBLE \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op #mb " %w[i], %w[i], %[v]" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op #mb " %w[i], %w[i], %[v]" \
|
|
Takashi Iwai |
5340b0 |
: [i] "+r" (i), [v] "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: "r" (v) \
|
|
Takashi Iwai |
5340b0 |
: cl); \
|
|
Takashi Iwai |
5340b0 |
@@ -130,7 +130,7 @@ static inline int __lse_atomic_sub_return##name(int i, atomic_t *v) \
|
|
Takashi Iwai |
5340b0 |
" add %w[i], %w[i], %w[tmp]" \
|
|
Takashi Iwai |
5340b0 |
: [i] "+&r" (i), [v] "+Q" (v->counter), [tmp] "=&r" (tmp) \
|
|
Takashi Iwai |
5340b0 |
: "r" (v) \
|
|
Takashi Iwai |
5340b0 |
- : cl); \
|
|
Takashi Iwai |
5340b0 |
+ : cl); \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
return i; \
|
|
Takashi Iwai |
5340b0 |
}
|
|
Takashi Iwai |
5340b0 |
@@ -168,7 +168,7 @@ static inline void __lse_atomic64_##op(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
{ \
|
|
Takashi Iwai |
5340b0 |
asm volatile( \
|
|
Takashi Iwai |
5340b0 |
__LSE_PREAMBLE \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op " %[i], %[v]\n" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op " %[i], %[v]\n" \
|
|
Takashi Iwai |
5340b0 |
: [i] "+r" (i), [v] "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: "r" (v)); \
|
|
Takashi Iwai |
5340b0 |
}
|
|
Takashi Iwai |
5340b0 |
@@ -185,7 +185,7 @@ static inline long __lse_atomic64_fetch_##op##name(s64 i, atomic64_t *v)\
|
|
Takashi Iwai |
5340b0 |
{ \
|
|
Takashi Iwai |
5340b0 |
asm volatile( \
|
|
Takashi Iwai |
5340b0 |
__LSE_PREAMBLE \
|
|
Takashi Iwai |
5340b0 |
-" " #asm_op #mb " %[i], %[i], %[v]" \
|
|
Takashi Iwai |
5340b0 |
+ " " #asm_op #mb " %[i], %[i], %[v]" \
|
|
Takashi Iwai |
5340b0 |
: [i] "+r" (i), [v] "+Q" (v->counter) \
|
|
Takashi Iwai |
5340b0 |
: "r" (v) \
|
|
Takashi Iwai |
5340b0 |
: cl); \
|
|
Takashi Iwai |
5340b0 |
@@ -272,7 +272,7 @@ static inline void __lse_atomic64_sub(s64 i, atomic64_t *v)
|
|
Takashi Iwai |
5340b0 |
}
|
|
Takashi Iwai |
5340b0 |
|
|
Takashi Iwai |
5340b0 |
#define ATOMIC64_OP_SUB_RETURN(name, mb, cl...) \
|
|
Takashi Iwai |
5340b0 |
-static inline long __lse_atomic64_sub_return##name(s64 i, atomic64_t *v) \
|
|
Takashi Iwai |
5340b0 |
+static inline long __lse_atomic64_sub_return##name(s64 i, atomic64_t *v)\
|
|
Takashi Iwai |
5340b0 |
{ \
|
|
Takashi Iwai |
5340b0 |
unsigned long tmp; \
|
|
Takashi Iwai |
5340b0 |
\
|
|
Takashi Iwai |
5340b0 |
--
|
|
Takashi Iwai |
5340b0 |
2.35.3
|
|
Takashi Iwai |
5340b0 |
|