]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/h8300/include/asm/uaccess.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-eoan-kernel.git] / arch / h8300 / include / asm / uaccess.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_UACCESS_H
3 #define _ASM_UACCESS_H
4
5 #include <linux/string.h>
6
7 static inline __must_check unsigned long
8 raw_copy_from_user(void *to, const void __user * from, unsigned long n)
9 {
10 if (__builtin_constant_p(n)) {
11 switch(n) {
12 case 1:
13 *(u8 *)to = *(u8 __force *)from;
14 return 0;
15 case 2:
16 *(u16 *)to = *(u16 __force *)from;
17 return 0;
18 case 4:
19 *(u32 *)to = *(u32 __force *)from;
20 return 0;
21 }
22 }
23
24 memcpy(to, (const void __force *)from, n);
25 return 0;
26 }
27
28 static inline __must_check unsigned long
29 raw_copy_to_user(void __user *to, const void *from, unsigned long n)
30 {
31 if (__builtin_constant_p(n)) {
32 switch(n) {
33 case 1:
34 *(u8 __force *)to = *(u8 *)from;
35 return 0;
36 case 2:
37 *(u16 __force *)to = *(u16 *)from;
38 return 0;
39 case 4:
40 *(u32 __force *)to = *(u32 *)from;
41 return 0;
42 default:
43 break;
44 }
45 }
46
47 memcpy((void __force *)to, from, n);
48 return 0;
49 }
50 #define INLINE_COPY_FROM_USER
51 #define INLINE_COPY_TO_USER
52
53 #include <asm-generic/uaccess.h>
54
55 #endif