Lines Matching refs:ptr
24 __xchg(unsigned long x, __volatile__ void *ptr, int size) in __xchg() argument
28 case 8: return __xchg64(x, (unsigned long *) ptr); in __xchg()
30 case 4: return __xchg32((int) x, (int *) ptr); in __xchg()
31 case 1: return __xchg8((char) x, (char *) ptr); in __xchg()
46 #define xchg(ptr, x) \ argument
47 ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
55 extern unsigned long __cmpxchg_u64(volatile unsigned long *ptr,
60 __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new_, int size) in __cmpxchg() argument
64 case 8: return __cmpxchg_u64((unsigned long *)ptr, old, new_); in __cmpxchg()
66 case 4: return __cmpxchg_u32((unsigned int *)ptr, in __cmpxchg()
73 #define cmpxchg(ptr, o, n) \ argument
75 __typeof__(*(ptr)) _o_ = (o); \
76 __typeof__(*(ptr)) _n_ = (n); \
77 (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_, \
78 (unsigned long)_n_, sizeof(*(ptr))); \
83 static inline unsigned long __cmpxchg_local(volatile void *ptr, in __cmpxchg_local() argument
89 case 8: return __cmpxchg_u64((unsigned long *)ptr, old, new_); in __cmpxchg_local()
91 case 4: return __cmpxchg_u32(ptr, old, new_); in __cmpxchg_local()
93 return __cmpxchg_local_generic(ptr, old, new_, size); in __cmpxchg_local()
101 #define cmpxchg_local(ptr, o, n) \ argument
102 ((__typeof__(*(ptr)))__cmpxchg_local((ptr), (unsigned long)(o), \
103 (unsigned long)(n), sizeof(*(ptr))))
105 #define cmpxchg64_local(ptr, o, n) \ argument
107 BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
108 cmpxchg_local((ptr), (o), (n)); \
111 #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) argument