summaryrefslogtreecommitdiff
path: root/arch/ia64/include/asm/atomic.h
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2010-05-17 08:33:53 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-17 18:57:27 +0400
commitf3d46f9d3194e0329216002a8724d4c0957abc79 (patch)
tree6d9413e4a448d7b8d342c40297c4fbe0b9c4c2f0 /arch/ia64/include/asm/atomic.h
parente40152ee1e1c7a63f4777791863215e3faa37a86 (diff)
downloadlinux-f3d46f9d3194e0329216002a8724d4c0957abc79.tar.xz
atomic_t: Cast to volatile when accessing atomic variables
In preparation for removing volatile from the atomic_t definition, this patch adds a volatile cast to all the atomic read functions. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/ia64/include/asm/atomic.h')
-rw-r--r--arch/ia64/include/asm/atomic.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
index 88405cb0832a..4e1948447a00 100644
--- a/arch/ia64/include/asm/atomic.h
+++ b/arch/ia64/include/asm/atomic.h
@@ -21,8 +21,8 @@
#define ATOMIC_INIT(i) ((atomic_t) { (i) })
#define ATOMIC64_INIT(i) ((atomic64_t) { (i) })
-#define atomic_read(v) ((v)->counter)
-#define atomic64_read(v) ((v)->counter)
+#define atomic_read(v) (*(volatile int *)&(v)->counter)
+#define atomic64_read(v) (*(volatile long *)&(v)->counter)
#define atomic_set(v,i) (((v)->counter) = (i))
#define atomic64_set(v,i) (((v)->counter) = (i))