diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2021-03-22 14:02:55 +0100 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2021-04-12 12:46:42 +0200 |
commit | c8a91c285d8c3449b32021b28bcb7fb5662403a8 (patch) | |
tree | 4ead77c1500e2f59dc3f0216f4cd9232645d5f7a /arch/s390/include/asm/atomic.h | |
parent | s390/bitops: make bitops only work on longs (diff) | |
download | linux-c8a91c285d8c3449b32021b28bcb7fb5662403a8.tar.xz linux-c8a91c285d8c3449b32021b28bcb7fb5662403a8.zip |
s390/atomic: move remaining inline assemblies to atomic_ops.h
Move all remaining inline assemblies from atomic.h to
atomic_ops.h. That way all atomic inline assemblies are
contained within only a single header file.
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/atomic.h')
-rw-r--r-- | arch/s390/include/asm/atomic.h | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/arch/s390/include/asm/atomic.h b/arch/s390/include/asm/atomic.h index 5860ae790f2d..5d8bd0de6b2a 100644 --- a/arch/s390/include/asm/atomic.h +++ b/arch/s390/include/asm/atomic.h @@ -17,19 +17,12 @@ static inline int atomic_read(const atomic_t *v) { - int c; - - asm volatile( - " l %0,%1\n" - : "=d" (c) : "Q" (v->counter)); - return c; + return __atomic_read(v); } static inline void atomic_set(atomic_t *v, int i) { - asm volatile( - " st %1,%0\n" - : "=Q" (v->counter) : "d" (i)); + __atomic_set(v, i); } static inline int atomic_add_return(int i, atomic_t *v) @@ -78,19 +71,12 @@ static inline int atomic_cmpxchg(atomic_t *v, int old, int new) static inline s64 atomic64_read(const atomic64_t *v) { - s64 c; - - asm volatile( - " lg %0,%1\n" - : "=d" (c) : "Q" (v->counter)); - return c; + return __atomic64_read(v); } static inline void atomic64_set(atomic64_t *v, s64 i) { - asm volatile( - " stg %1,%0\n" - : "=Q" (v->counter) : "d" (i)); + __atomic64_set(v, i); } static inline s64 atomic64_add_return(s64 i, atomic64_t *v) |