mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
asm-generic/uaccess.h: don't mess with __copy_{to,from}_user
only h8300 actually used those; might as well define them there. Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
parent
db68ce10c4
commit
3fb5007528
6 changed files with 52 additions and 71 deletions
|
|
@ -69,7 +69,6 @@ generic-y += tlbflush.h
|
|||
generic-y += trace_clock.h
|
||||
generic-y += topology.h
|
||||
generic-y += types.h
|
||||
generic-y += uaccess.h
|
||||
generic-y += ucontext.h
|
||||
generic-y += unaligned.h
|
||||
generic-y += vga.h
|
||||
|
|
|
|||
52
arch/h8300/include/asm/uaccess.h
Normal file
52
arch/h8300/include/asm/uaccess.h
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#ifndef _ASM_UACCESS_H
|
||||
#define _ASM_UACCESS_H
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
static inline __must_check long __copy_from_user(void *to,
|
||||
const void __user * from, unsigned long n)
|
||||
{
|
||||
if (__builtin_constant_p(n)) {
|
||||
switch(n) {
|
||||
case 1:
|
||||
*(u8 *)to = *(u8 __force *)from;
|
||||
return 0;
|
||||
case 2:
|
||||
*(u16 *)to = *(u16 __force *)from;
|
||||
return 0;
|
||||
case 4:
|
||||
*(u32 *)to = *(u32 __force *)from;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
memcpy(to, (const void __force *)from, n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline __must_check long __copy_to_user(void __user *to,
|
||||
const void *from, unsigned long n)
|
||||
{
|
||||
if (__builtin_constant_p(n)) {
|
||||
switch(n) {
|
||||
case 1:
|
||||
*(u8 __force *)to = *(u8 *)from;
|
||||
return 0;
|
||||
case 2:
|
||||
*(u16 __force *)to = *(u16 *)from;
|
||||
return 0;
|
||||
case 4:
|
||||
*(u32 __force *)to = *(u32 *)from;
|
||||
return 0;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
memcpy((void __force *)to, from, n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include <asm-generic/uaccess.h>
|
||||
|
||||
#endif
|
||||
Loading…
Reference in a new issue