[S390] atomic: use ACCESS_ONCE() for atomic_read()

Let's make atomic_read() and atomic_set() behave like on all/most other
architectures. Generated code is identical with gcc 4.5.2.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by Heiko Carstens and committed by Martin Schwidefsky 03e3b5a0 5da24b76

+2 -6
+2 -6
arch/s390/include/asm/atomic.h
··· 36 37 static inline int atomic_read(const atomic_t *v) 38 { 39 - barrier(); 40 - return v->counter; 41 } 42 43 static inline void atomic_set(atomic_t *v, int i) 44 { 45 v->counter = i; 46 - barrier(); 47 } 48 49 static inline int atomic_add_return(int i, atomic_t *v) ··· 126 127 static inline long long atomic64_read(const atomic64_t *v) 128 { 129 - barrier(); 130 - return v->counter; 131 } 132 133 static inline void atomic64_set(atomic64_t *v, long long i) 134 { 135 v->counter = i; 136 - barrier(); 137 } 138 139 static inline long long atomic64_add_return(long long i, atomic64_t *v)
··· 36 37 static inline int atomic_read(const atomic_t *v) 38 { 39 + return ACCESS_ONCE(v->counter); 40 } 41 42 static inline void atomic_set(atomic_t *v, int i) 43 { 44 v->counter = i; 45 } 46 47 static inline int atomic_add_return(int i, atomic_t *v) ··· 128 129 static inline long long atomic64_read(const atomic64_t *v) 130 { 131 + return ACCESS_ONCE(v->counter); 132 } 133 134 static inline void atomic64_set(atomic64_t *v, long long i) 135 { 136 v->counter = i; 137 } 138 139 static inline long long atomic64_add_return(long long i, atomic64_t *v)