^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __ASM_C6X_FLAT_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __ASM_C6X_FLAT_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <asm/unaligned.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) u32 *addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) *addr = get_unaligned((__force u32 *)rp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) put_unaligned(addr, (__force u32 *)rp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #endif /* __ASM_C6X_FLAT_H */