| #ifndef __ASM_SH_UACCESS_H |
| #define __ASM_SH_UACCESS_H |
| |
| #ifdef CONFIG_SUPERH32 |
| # include "uaccess_32.h" |
| #else |
| # include "uaccess_64.h" |
| #endif |
| |
| static inline unsigned long |
| copy_from_user(void *to, const void __user *from, unsigned long n) |
| { |
| unsigned long __copy_from = (unsigned long) from; |
| __kernel_size_t __copy_size = (__kernel_size_t) n; |
| |
| if (__copy_size && __access_ok(__copy_from, __copy_size)) |
| return __copy_user(to, from, __copy_size); |
| |
| return __copy_size; |
| } |
| |
| static inline unsigned long |
| copy_to_user(void __user *to, const void *from, unsigned long n) |
| { |
| unsigned long __copy_to = (unsigned long) to; |
| __kernel_size_t __copy_size = (__kernel_size_t) n; |
| |
| if (__copy_size && __access_ok(__copy_to, __copy_size)) |
| return __copy_user(to, from, __copy_size); |
| |
| return __copy_size; |
| } |
| |
| #endif /* __ASM_SH_UACCESS_H */ |