diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2007-10-14 20:35:10 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-14 21:41:51 +0200 |
commit | 0cc0844bc6d0bfca97fda48fa28d1f0a7cf878cb (patch) | |
tree | 55c4cf1f7930cea8c8d0393296b6ef08accd6cd9 /include/asm-frv/system.h | |
parent | synclink_gt endianness annotations (diff) | |
download | linux-0cc0844bc6d0bfca97fda48fa28d1f0a7cf878cb.tar.xz linux-0cc0844bc6d0bfca97fda48fa28d1f0a7cf878cb.zip |
frv: missing casts in cmpxchg()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r-- | include/asm-frv/system.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-frv/system.h b/include/asm-frv/system.h index 6931af525da3..9f5663ba19f8 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"); \ |