Lines Matching refs:ptr
27 static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size) in __xchg() argument
39 prefetchw((const void *)ptr); in __xchg()
50 : "r" (x), "r" (ptr) in __xchg()
60 : "r" (x), "r" (ptr) in __xchg()
69 ret = *(volatile unsigned char *)ptr; in __xchg()
70 *(volatile unsigned char *)ptr = x; in __xchg()
76 ret = *(volatile unsigned long *)ptr; in __xchg()
77 *(volatile unsigned long *)ptr = x; in __xchg()
85 : "r" (x), "r" (ptr) in __xchg()
92 : "r" (x), "r" (ptr) in __xchg()
97 __bad_xchg(ptr, size), ret = 0; in __xchg()
105 #define xchg(ptr,x) \ argument
106 ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
121 #define cmpxchg_local(ptr, o, n) \ argument
122 ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\
123 (unsigned long)(n), sizeof(*(ptr))))
124 #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) argument
132 extern void __bad_cmpxchg(volatile void *ptr, int size);
138 static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, in __cmpxchg() argument
143 prefetchw((const void *)ptr); in __cmpxchg()
155 : "r" (ptr), "Ir" (old), "r" (new) in __cmpxchg()
167 : "r" (ptr), "Ir" (old), "r" (new) in __cmpxchg()
180 : "r" (ptr), "Ir" (old), "r" (new) in __cmpxchg()
185 __bad_cmpxchg(ptr, size); in __cmpxchg()
192 static inline unsigned long __cmpxchg_mb(volatile void *ptr, unsigned long old, in __cmpxchg_mb() argument
198 ret = __cmpxchg(ptr, old, new, size); in __cmpxchg_mb()
204 #define cmpxchg(ptr,o,n) \ argument
205 ((__typeof__(*(ptr)))__cmpxchg_mb((ptr), \
208 sizeof(*(ptr))))
210 static inline unsigned long __cmpxchg_local(volatile void *ptr, in __cmpxchg_local() argument
220 ret = __cmpxchg_local_generic(ptr, old, new, size); in __cmpxchg_local()
224 ret = __cmpxchg(ptr, old, new, size); in __cmpxchg_local()
230 static inline unsigned long long __cmpxchg64(unsigned long long *ptr, in __cmpxchg64() argument
237 prefetchw(ptr); in __cmpxchg64()
248 : "=&r" (res), "=&r" (oldval), "+Qo" (*ptr) in __cmpxchg64()
249 : "r" (ptr), "r" (old), "r" (new) in __cmpxchg64()
255 static inline unsigned long long __cmpxchg64_mb(unsigned long long *ptr, in __cmpxchg64_mb() argument
262 ret = __cmpxchg64(ptr, old, new); in __cmpxchg64_mb()
268 #define cmpxchg_local(ptr,o,n) \ argument
269 ((__typeof__(*(ptr)))__cmpxchg_local((ptr), \
272 sizeof(*(ptr))))
274 #define cmpxchg64(ptr, o, n) \ argument
275 ((__typeof__(*(ptr)))__cmpxchg64_mb((ptr), \
279 #define cmpxchg64_relaxed(ptr, o, n) \ argument
280 ((__typeof__(*(ptr)))__cmpxchg64((ptr), \
284 #define cmpxchg64_local(ptr, o, n) cmpxchg64_relaxed((ptr), (o), (n)) argument