summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2007-02-13 12:45:24 +0100
committerRalf Baechle <ralf@linux-mips.org>2007-02-13 23:40:51 +0100
commitcb66fb3f156b485b22db97db22e96db4786dc68b (patch)
tree72423101605fc154a03fb370b21b7702f5c4810b /include
parent[MIPS] DECstation: Fix irq handling (diff)
downloadlinux-cb66fb3f156b485b22db97db22e96db4786dc68b.tar.xz
linux-cb66fb3f156b485b22db97db22e96db4786dc68b.zip
[MIPS] 32-bit: Fix warning about cast for fetching pointer from userspace.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-mips/uaccess.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/asm-mips/uaccess.h b/include/asm-mips/uaccess.h
index c12ebc53ef31..36b3a427f123 100644
--- a/include/asm-mips/uaccess.h
+++ b/include/asm-mips/uaccess.h
@@ -265,7 +265,10 @@ do { \
*/
#define __get_user_asm_ll32(val, addr) \
{ \
- unsigned long long __gu_tmp; \
+ union { \
+ unsigned long long l; \
+ __typeof__(*(addr)) t; \
+ } __gu_tmp; \
\
__asm__ __volatile__( \
"1: lw %1, (%3) \n" \
@@ -281,9 +284,10 @@ do { \
" " __UA_ADDR " 1b, 4b \n" \
" " __UA_ADDR " 2b, 4b \n" \
" .previous \n" \
- : "=r" (__gu_err), "=&r" (__gu_tmp) \
+ : "=r" (__gu_err), "=&r" (__gu_tmp.l) \
: "0" (0), "r" (addr), "i" (-EFAULT)); \
- (val) = (__typeof__(*(addr))) __gu_tmp; \
+ \
+ (val) = __gu_tmp.t; \
}
/*