Lines Matching refs:ptr
14 asmlinkage unsigned long __raw_xchg_1_asm(volatile void *ptr, unsigned long value);
15 asmlinkage unsigned long __raw_xchg_2_asm(volatile void *ptr, unsigned long value);
16 asmlinkage unsigned long __raw_xchg_4_asm(volatile void *ptr, unsigned long value);
17 asmlinkage unsigned long __raw_cmpxchg_1_asm(volatile void *ptr,
19 asmlinkage unsigned long __raw_cmpxchg_2_asm(volatile void *ptr,
21 asmlinkage unsigned long __raw_cmpxchg_4_asm(volatile void *ptr,
24 static inline unsigned long __xchg(unsigned long x, volatile void *ptr, in __xchg() argument
31 tmp = __raw_xchg_1_asm(ptr, x); in __xchg()
34 tmp = __raw_xchg_2_asm(ptr, x); in __xchg()
37 tmp = __raw_xchg_4_asm(ptr, x); in __xchg()
49 static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, in __cmpxchg() argument
56 tmp = __raw_cmpxchg_1_asm(ptr, new, old); in __cmpxchg()
59 tmp = __raw_cmpxchg_2_asm(ptr, new, old); in __cmpxchg()
62 tmp = __raw_cmpxchg_4_asm(ptr, new, old); in __cmpxchg()
68 #define cmpxchg(ptr, o, n) \ argument
69 ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \
70 (unsigned long)(n), sizeof(*(ptr))))
82 static inline unsigned long __xchg(unsigned long x, volatile void *ptr, in __xchg() argument
95 : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory"); in __xchg()
101 : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory"); in __xchg()
107 : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory"); in __xchg()
120 #define cmpxchg_local(ptr, o, n) \ argument
121 ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\
122 (unsigned long)(n), sizeof(*(ptr))))
123 #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) argument
125 #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) argument
126 #define cmpxchg64(ptr, o, n) cmpxchg64_local((ptr), (o), (n)) argument
130 #define xchg(ptr, x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))) argument
131 #define tas(ptr) ((void)xchg((ptr), 1)) argument