145deb5faSThomas Bogendoerfer /* SPDX-License-Identifier: GPL-2.0 */
245deb5faSThomas Bogendoerfer
345deb5faSThomas Bogendoerfer #include <linux/uaccess.h>
445deb5faSThomas Bogendoerfer
__get_addr(unsigned long * a,unsigned long * p,bool user)545deb5faSThomas Bogendoerfer static inline int __get_addr(unsigned long *a, unsigned long *p, bool user)
645deb5faSThomas Bogendoerfer {
7*7cba4128SThomas Bogendoerfer return user ? get_user(*a, (unsigned long __user *)p) :
8*7cba4128SThomas Bogendoerfer get_kernel_nofault(*a, p);
945deb5faSThomas Bogendoerfer }
1045deb5faSThomas Bogendoerfer
__get_inst16(u16 * i,u16 * p,bool user)1145deb5faSThomas Bogendoerfer static inline int __get_inst16(u16 *i, u16 *p, bool user)
1245deb5faSThomas Bogendoerfer {
13*7cba4128SThomas Bogendoerfer return user ? get_user(*i, (u16 __user *)p) : get_kernel_nofault(*i, p);
1445deb5faSThomas Bogendoerfer }
1545deb5faSThomas Bogendoerfer
__get_inst32(u32 * i,u32 * p,bool user)1645deb5faSThomas Bogendoerfer static inline int __get_inst32(u32 *i, u32 *p, bool user)
1745deb5faSThomas Bogendoerfer {
18*7cba4128SThomas Bogendoerfer return user ? get_user(*i, (u32 __user *)p) : get_kernel_nofault(*i, p);
1945deb5faSThomas Bogendoerfer }
20