|
|
@@ -30,7 +30,7 @@
|
|
|
*
|
|
|
* Atomically reads the value of @v.
|
|
|
*/
|
|
|
-#define atomic_read(v) ACCESS_ONCE((v)->counter)
|
|
|
+#define atomic_read(v) READ_ONCE((v)->counter)
|
|
|
|
|
|
/*
|
|
|
* atomic_set - set atomic variable
|
|
|
@@ -39,7 +39,7 @@
|
|
|
*
|
|
|
* Atomically sets the value of @v to @i.
|
|
|
*/
|
|
|
-#define atomic_set(v, i) ((v)->counter = (i))
|
|
|
+#define atomic_set(v, i) WRITE_ONCE((v)->counter, (i))
|
|
|
|
|
|
#define ATOMIC_OP(op, c_op, asm_op) \
|
|
|
static __inline__ void atomic_##op(int i, atomic_t * v) \
|
|
|
@@ -315,14 +315,14 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
|
|
|
* @v: pointer of type atomic64_t
|
|
|
*
|
|
|
*/
|
|
|
-#define atomic64_read(v) ACCESS_ONCE((v)->counter)
|
|
|
+#define atomic64_read(v) READ_ONCE((v)->counter)
|
|
|
|
|
|
/*
|
|
|
* atomic64_set - set atomic variable
|
|
|
* @v: pointer of type atomic64_t
|
|
|
* @i: required value
|
|
|
*/
|
|
|
-#define atomic64_set(v, i) ((v)->counter = (i))
|
|
|
+#define atomic64_set(v, i) WRITE_ONCE((v)->counter, (i))
|
|
|
|
|
|
#define ATOMIC64_OP(op, c_op, asm_op) \
|
|
|
static __inline__ void atomic64_##op(long i, atomic64_t * v) \
|