Lines Matching refs:ptr
23 #define xchg(ptr,v) \ argument
24 ((__typeof__(*(ptr)))__xchg((unsigned long)(v),(ptr),sizeof(*(ptr))))
37 unsigned long x, volatile void *ptr, int size) in __xchg() argument
44 : "m" (*__xg(ptr)), "0" (x) in __xchg()
50 : "m" (*__xg(ptr)), "0" (x) in __xchg()
56 : "m" (*__xg(ptr)), "0" (x) in __xchg()
62 : "m" (*__xg(ptr)), "0" (x) in __xchg()
76 volatile void *ptr, unsigned long old, unsigned long new, int size) in __cmpxchg() argument
84 : "q" (new), "m" (*__xg(ptr)), in __cmpxchg()
91 : "r" (new), "m" (*__xg(ptr)), in __cmpxchg()
98 : "r" (new), "m" (*__xg(ptr)), in __cmpxchg()
105 : "r" (new), "m" (*__xg(ptr)), in __cmpxchg()
113 #define cmpxchgptr(ptr,o,n) ({ \ argument
114 const __typeof__(**(ptr)) *__o = (o); \
115 __typeof__(**(ptr)) *__n = (n); \
116 ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)__o, \
117 (unsigned long)__n,sizeof(*(ptr)))); \
127 volatile void *ptr, unsigned long v, int size) in __xadd() argument
133 : "+r" (v), "+m" (*__xg(ptr)) in __xadd()
138 : "+r" (v), "+m" (*__xg(ptr)) in __xadd()
143 : "+r" (v), "+m" (*__xg(ptr)) in __xadd()
148 : "+r" (v), "+m" (*__xg(ptr)) in __xadd()
163 #define arch_fetch_and_add(ptr, v) \ argument
164 ((typeof(*(ptr)))__xadd(ptr, (typeof(*(ptr)))(v), sizeof(*(ptr))))