mirror of https://gitee.com/openkylin/linux.git
[SPARC]: Kill off these __put_user_ret things.
They are bogus and haven't been referenced in years. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8e42550c68
commit
bc45e32e0f
|
@ -120,17 +120,6 @@ case 8: __put_user_asm(x,d,addr,__pu_ret); break; \
|
|||
default: __pu_ret = __put_user_bad(); break; \
|
||||
} } else { __pu_ret = -EFAULT; } __pu_ret; })
|
||||
|
||||
#define __put_user_check_ret(x,addr,size,retval) ({ \
|
||||
register int __foo __asm__ ("l1"); \
|
||||
if (__access_ok(addr,size)) { \
|
||||
switch (size) { \
|
||||
case 1: __put_user_asm_ret(x,b,addr,retval,__foo); break; \
|
||||
case 2: __put_user_asm_ret(x,h,addr,retval,__foo); break; \
|
||||
case 4: __put_user_asm_ret(x,,addr,retval,__foo); break; \
|
||||
case 8: __put_user_asm_ret(x,d,addr,retval,__foo); break; \
|
||||
default: if (__put_user_bad()) return retval; break; \
|
||||
} } else return retval; })
|
||||
|
||||
#define __put_user_nocheck(x,addr,size) ({ \
|
||||
register int __pu_ret; \
|
||||
switch (size) { \
|
||||
|
@ -141,16 +130,6 @@ case 8: __put_user_asm(x,d,addr,__pu_ret); break; \
|
|||
default: __pu_ret = __put_user_bad(); break; \
|
||||
} __pu_ret; })
|
||||
|
||||
#define __put_user_nocheck_ret(x,addr,size,retval) ({ \
|
||||
register int __foo __asm__ ("l1"); \
|
||||
switch (size) { \
|
||||
case 1: __put_user_asm_ret(x,b,addr,retval,__foo); break; \
|
||||
case 2: __put_user_asm_ret(x,h,addr,retval,__foo); break; \
|
||||
case 4: __put_user_asm_ret(x,,addr,retval,__foo); break; \
|
||||
case 8: __put_user_asm_ret(x,d,addr,retval,__foo); break; \
|
||||
default: if (__put_user_bad()) return retval; break; \
|
||||
} })
|
||||
|
||||
#define __put_user_asm(x,size,addr,ret) \
|
||||
__asm__ __volatile__( \
|
||||
"/* Put user asm, inline. */\n" \
|
||||
|
@ -170,32 +149,6 @@ __asm__ __volatile__( \
|
|||
: "=&r" (ret) : "r" (x), "m" (*__m(addr)), \
|
||||
"i" (-EFAULT))
|
||||
|
||||
#define __put_user_asm_ret(x,size,addr,ret,foo) \
|
||||
if (__builtin_constant_p(ret) && ret == -EFAULT) \
|
||||
__asm__ __volatile__( \
|
||||
"/* Put user asm ret, inline. */\n" \
|
||||
"1:\t" "st"#size " %1, %2\n\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, __ret_efault\n\n\t" \
|
||||
".previous\n\n\t" \
|
||||
: "=r" (foo) : "r" (x), "m" (*__m(addr))); \
|
||||
else \
|
||||
__asm__ __volatile( \
|
||||
"/* Put user asm ret, inline. */\n" \
|
||||
"1:\t" "st"#size " %1, %2\n\n\t" \
|
||||
".section .fixup,#alloc,#execinstr\n\t" \
|
||||
".align 4\n" \
|
||||
"3:\n\t" \
|
||||
"ret\n\t" \
|
||||
" restore %%g0, %3, %%o0\n\t" \
|
||||
".previous\n\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, 3b\n\n\t" \
|
||||
".previous\n\n\t" \
|
||||
: "=r" (foo) : "r" (x), "m" (*__m(addr)), "i" (ret))
|
||||
|
||||
extern int __put_user_bad(void);
|
||||
|
||||
#define __get_user_check(x,addr,size,type) ({ \
|
||||
|
|
|
@ -114,16 +114,6 @@ case 8: __put_user_asm(data,x,addr,__pu_ret); break; \
|
|||
default: __pu_ret = __put_user_bad(); break; \
|
||||
} __pu_ret; })
|
||||
|
||||
#define __put_user_nocheck_ret(data,addr,size,retval) ({ \
|
||||
register int __foo __asm__ ("l1"); \
|
||||
switch (size) { \
|
||||
case 1: __put_user_asm_ret(data,b,addr,retval,__foo); break; \
|
||||
case 2: __put_user_asm_ret(data,h,addr,retval,__foo); break; \
|
||||
case 4: __put_user_asm_ret(data,w,addr,retval,__foo); break; \
|
||||
case 8: __put_user_asm_ret(data,x,addr,retval,__foo); break; \
|
||||
default: if (__put_user_bad()) return retval; break; \
|
||||
} })
|
||||
|
||||
#define __put_user_asm(x,size,addr,ret) \
|
||||
__asm__ __volatile__( \
|
||||
"/* Put user asm, inline. */\n" \
|
||||
|
@ -143,33 +133,6 @@ __asm__ __volatile__( \
|
|||
: "=r" (ret) : "r" (x), "r" (__m(addr)), \
|
||||
"i" (-EFAULT))
|
||||
|
||||
#define __put_user_asm_ret(x,size,addr,ret,foo) \
|
||||
if (__builtin_constant_p(ret) && ret == -EFAULT) \
|
||||
__asm__ __volatile__( \
|
||||
"/* Put user asm ret, inline. */\n" \
|
||||
"1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, __ret_efault\n\n\t" \
|
||||
".previous\n\n\t" \
|
||||
: "=r" (foo) : "r" (x), "r" (__m(addr))); \
|
||||
else \
|
||||
__asm__ __volatile__( \
|
||||
"/* Put user asm ret, inline. */\n" \
|
||||
"1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \
|
||||
".section .fixup,#alloc,#execinstr\n\t" \
|
||||
".align 4\n" \
|
||||
"3:\n\t" \
|
||||
"ret\n\t" \
|
||||
" restore %%g0, %3, %%o0\n\n\t" \
|
||||
".previous\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, 3b\n\n\t" \
|
||||
".previous\n\n\t" \
|
||||
: "=r" (foo) : "r" (x), "r" (__m(addr)), \
|
||||
"i" (ret))
|
||||
|
||||
extern int __put_user_bad(void);
|
||||
|
||||
#define __get_user_nocheck(data,addr,size,type) ({ \
|
||||
|
|
Loading…
Reference in New Issue