aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2007-10-14 19:35:10 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-14 12:41:51 -0700
commit0cc0844bc6d0bfca97fda48fa28d1f0a7cf878cb (patch)
tree55c4cf1f7930cea8c8d0393296b6ef08accd6cd9
parent51ef9c57f0be4945aa78b83d64aca34f41e351ce (diff)
frv: missing casts in cmpxchg()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/asm-frv/system.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-frv/system.h b/include/asm-frv/system.h
index 6931af525da..9f5663ba19f 100644
--- a/include/asm-frv/system.h
+++ b/include/asm-frv/system.h
@@ -253,7 +253,10 @@ extern uint32_t __cmpxchg_32(uint32_t *v, uint32_t test, uint32_t new);
__typeof__(*(ptr)) __xg_new = (new); \
\
switch (sizeof(__xg_orig)) { \
- case 4: __xg_orig = __cmpxchg_32(__xg_ptr, __xg_test, __xg_new); break; \
+ case 4: __xg_orig = (__force __typeof__(*ptr)) \
+ __cmpxchg_32((__force uint32_t *)__xg_ptr, \
+ (__force uint32_t)__xg_test, \
+ (__force uint32_t)__xg_new); break; \
default: \
__xg_orig = 0; \
asm volatile("break"); \