GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / ia64 / include / asm / cmpxchg.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_IA64_CMPXCHG_H
3 #define _ASM_IA64_CMPXCHG_H
4
5 #include <uapi/asm/cmpxchg.h>
6
7 #define arch_xchg(ptr, x)       \
8 ({(__typeof__(*(ptr))) __xchg((unsigned long) (x), (ptr), sizeof(*(ptr)));})
9
10 #define arch_cmpxchg(ptr, o, n)         cmpxchg_acq((ptr), (o), (n))
11 #define arch_cmpxchg64(ptr, o, n)       cmpxchg_acq((ptr), (o), (n))
12
13 #define arch_cmpxchg_local              arch_cmpxchg
14 #define arch_cmpxchg64_local            arch_cmpxchg64
15
16 #endif /* _ASM_IA64_CMPXCHG_H */