Lines Matching refs:lock
28 #define arch_spin_is_locked(x) (READ_ONCE((x)->lock) != 0)
30 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
32 smp_store_release(&lock->lock, 0); in arch_spin_unlock()
35 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
42 : "=r" (busy), "+A" (lock->lock) in arch_spin_trylock()
49 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
52 if (arch_spin_is_locked(lock)) in arch_spin_lock()
55 if (arch_spin_trylock(lock)) in arch_spin_lock()
62 static inline void arch_read_lock(arch_rwlock_t *lock) in arch_read_lock() argument
73 : "+A" (lock->lock), "=&r" (tmp) in arch_read_lock()
77 static inline void arch_write_lock(arch_rwlock_t *lock) in arch_write_lock() argument
88 : "+A" (lock->lock), "=&r" (tmp) in arch_write_lock()
92 static inline int arch_read_trylock(arch_rwlock_t *lock) in arch_read_trylock() argument
104 : "+A" (lock->lock), "=&r" (busy) in arch_read_trylock()
110 static inline int arch_write_trylock(arch_rwlock_t *lock) in arch_write_trylock() argument
122 : "+A" (lock->lock), "=&r" (busy) in arch_write_trylock()
128 static inline void arch_read_unlock(arch_rwlock_t *lock) in arch_read_unlock() argument
133 : "+A" (lock->lock) in arch_read_unlock()
138 static inline void arch_write_unlock(arch_rwlock_t *lock) in arch_write_unlock() argument
140 smp_store_release(&lock->lock, 0); in arch_write_unlock()