Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

-84
-47
include/asm-sparc/uaccess.h
··· 120 120 default: __pu_ret = __put_user_bad(); break; \ 121 121 } } else { __pu_ret = -EFAULT; } __pu_ret; }) 122 122 123 - #define __put_user_check_ret(x,addr,size,retval) ({ \ 124 - register int __foo __asm__ ("l1"); \ 125 - if (__access_ok(addr,size)) { \ 126 - switch (size) { \ 127 - case 1: __put_user_asm_ret(x,b,addr,retval,__foo); break; \ 128 - case 2: __put_user_asm_ret(x,h,addr,retval,__foo); break; \ 129 - case 4: __put_user_asm_ret(x,,addr,retval,__foo); break; \ 130 - case 8: __put_user_asm_ret(x,d,addr,retval,__foo); break; \ 131 - default: if (__put_user_bad()) return retval; break; \ 132 - } } else return retval; }) 133 - 134 123 #define __put_user_nocheck(x,addr,size) ({ \ 135 124 register int __pu_ret; \ 136 125 switch (size) { \ ··· 129 140 case 8: __put_user_asm(x,d,addr,__pu_ret); break; \ 130 141 default: __pu_ret = __put_user_bad(); break; \ 131 142 } __pu_ret; }) 132 - 133 - #define __put_user_nocheck_ret(x,addr,size,retval) ({ \ 134 - register int __foo __asm__ ("l1"); \ 135 - switch (size) { \ 136 - case 1: __put_user_asm_ret(x,b,addr,retval,__foo); break; \ 137 - case 2: __put_user_asm_ret(x,h,addr,retval,__foo); break; \ 138 - case 4: __put_user_asm_ret(x,,addr,retval,__foo); break; \ 139 - case 8: __put_user_asm_ret(x,d,addr,retval,__foo); break; \ 140 - default: if (__put_user_bad()) return retval; break; \ 141 - } }) 142 143 143 144 #define __put_user_asm(x,size,addr,ret) \ 144 145 __asm__ __volatile__( \ ··· 148 169 ".previous\n\n\t" \ 149 170 : "=&r" (ret) : "r" (x), "m" (*__m(addr)), \ 150 171 "i" (-EFAULT)) 151 - 152 - #define __put_user_asm_ret(x,size,addr,ret,foo) \ 153 - if (__builtin_constant_p(ret) && ret == -EFAULT) \ 154 - __asm__ __volatile__( \ 155 - "/* Put user asm ret, inline. */\n" \ 156 - "1:\t" "st"#size " %1, %2\n\n\t" \ 157 - ".section __ex_table,#alloc\n\t" \ 158 - ".align 4\n\t" \ 159 - ".word 1b, __ret_efault\n\n\t" \ 160 - ".previous\n\n\t" \ 161 - : "=r" (foo) : "r" (x), "m" (*__m(addr))); \ 162 - else \ 163 - __asm__ __volatile( \ 164 - "/* Put user asm ret, inline. */\n" \ 165 - "1:\t" "st"#size " %1, %2\n\n\t" \ 166 - ".section .fixup,#alloc,#execinstr\n\t" \ 167 - ".align 4\n" \ 168 - "3:\n\t" \ 169 - "ret\n\t" \ 170 - " restore %%g0, %3, %%o0\n\t" \ 171 - ".previous\n\n\t" \ 172 - ".section __ex_table,#alloc\n\t" \ 173 - ".align 4\n\t" \ 174 - ".word 1b, 3b\n\n\t" \ 175 - ".previous\n\n\t" \ 176 - : "=r" (foo) : "r" (x), "m" (*__m(addr)), "i" (ret)) 177 172 178 173 extern int __put_user_bad(void); 179 174
-37
include/asm-sparc64/uaccess.h
··· 114 114 default: __pu_ret = __put_user_bad(); break; \ 115 115 } __pu_ret; }) 116 116 117 - #define __put_user_nocheck_ret(data,addr,size,retval) ({ \ 118 - register int __foo __asm__ ("l1"); \ 119 - switch (size) { \ 120 - case 1: __put_user_asm_ret(data,b,addr,retval,__foo); break; \ 121 - case 2: __put_user_asm_ret(data,h,addr,retval,__foo); break; \ 122 - case 4: __put_user_asm_ret(data,w,addr,retval,__foo); break; \ 123 - case 8: __put_user_asm_ret(data,x,addr,retval,__foo); break; \ 124 - default: if (__put_user_bad()) return retval; break; \ 125 - } }) 126 - 127 117 #define __put_user_asm(x,size,addr,ret) \ 128 118 __asm__ __volatile__( \ 129 119 "/* Put user asm, inline. */\n" \ ··· 132 142 ".previous\n\n\t" \ 133 143 : "=r" (ret) : "r" (x), "r" (__m(addr)), \ 134 144 "i" (-EFAULT)) 135 - 136 - #define __put_user_asm_ret(x,size,addr,ret,foo) \ 137 - if (__builtin_constant_p(ret) && ret == -EFAULT) \ 138 - __asm__ __volatile__( \ 139 - "/* Put user asm ret, inline. */\n" \ 140 - "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ 141 - ".section __ex_table,\"a\"\n\t" \ 142 - ".align 4\n\t" \ 143 - ".word 1b, __ret_efault\n\n\t" \ 144 - ".previous\n\n\t" \ 145 - : "=r" (foo) : "r" (x), "r" (__m(addr))); \ 146 - else \ 147 - __asm__ __volatile__( \ 148 - "/* Put user asm ret, inline. */\n" \ 149 - "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ 150 - ".section .fixup,#alloc,#execinstr\n\t" \ 151 - ".align 4\n" \ 152 - "3:\n\t" \ 153 - "ret\n\t" \ 154 - " restore %%g0, %3, %%o0\n\n\t" \ 155 - ".previous\n\t" \ 156 - ".section __ex_table,\"a\"\n\t" \ 157 - ".align 4\n\t" \ 158 - ".word 1b, 3b\n\n\t" \ 159 - ".previous\n\n\t" \ 160 - : "=r" (foo) : "r" (x), "r" (__m(addr)), \ 161 - "i" (ret)) 162 145 163 146 extern int __put_user_bad(void); 164 147