162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#include <linux/uaccess.h>
462306a36Sopenharmony_ci
562306a36Sopenharmony_cistatic inline int __get_inst(u32 *i, u32 *p, bool user)
662306a36Sopenharmony_ci{
762306a36Sopenharmony_ci	return user ? get_user(*i, (u32 __user *)p) : get_kernel_nofault(*i, p);
862306a36Sopenharmony_ci}
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cistatic inline int __get_addr(unsigned long *a, unsigned long *p, bool user)
1162306a36Sopenharmony_ci{
1262306a36Sopenharmony_ci	return user ? get_user(*a, (unsigned long __user *)p) : get_kernel_nofault(*a, p);
1362306a36Sopenharmony_ci}
14