Lines Matching refs:lock
22 * - load the lock value
24 * - if the lock value is still negative, go back and try again.
26 * - successful store new lock value if positive -> lock acquired
28 static inline void arch_read_lock(arch_rwlock_t *lock)
37 : "r" (&lock->lock)
43 static inline void arch_read_unlock(arch_rwlock_t *lock)
51 : "r" (&lock->lock)
58 static inline int arch_read_trylock(arch_rwlock_t *lock)
69 : "r" (&lock->lock)
75 /* Stuffs a -1 in the lock value? */
76 static inline void arch_write_lock(arch_rwlock_t *lock)
85 : "r" (&lock->lock)
91 static inline int arch_write_trylock(arch_rwlock_t *lock)
102 : "r" (&lock->lock)
109 static inline void arch_write_unlock(arch_rwlock_t *lock)
112 lock->lock = 0;
115 static inline void arch_spin_lock(arch_spinlock_t *lock)
124 : "r" (&lock->lock)
130 static inline void arch_spin_unlock(arch_spinlock_t *lock)
133 lock->lock = 0;
136 static inline unsigned int arch_spin_trylock(arch_spinlock_t *lock)
147 : "r" (&lock->lock)
154 * SMP spinlocks are intended to allow only a single CPU at the lock
156 #define arch_spin_is_locked(x) ((x)->lock != 0)