Lines Matching refs:lock
93 extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
95 # define raw_spin_lock_init(lock) \ argument
99 __raw_spin_lock_init((lock), #lock, &__key); \
103 # define raw_spin_lock_init(lock) \ argument
104 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
107 #define raw_spin_is_locked(lock) arch_spin_is_locked(&(lock)->raw_lock) argument
110 #define raw_spin_is_contended(lock) ((lock)->break_lock) argument
114 #define raw_spin_is_contended(lock) arch_spin_is_contended(&(lock)->raw_lock) argument
116 #define raw_spin_is_contended(lock) (((void)(lock), 0)) argument
147 #define raw_spin_unlock_wait(lock) arch_spin_unlock_wait(&(lock)->raw_lock) argument
150 extern void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock);
151 #define do_raw_spin_lock_flags(lock, flags) do_raw_spin_lock(lock) argument
152 extern int do_raw_spin_trylock(raw_spinlock_t *lock);
153 extern void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock);
155 static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock) in do_raw_spin_lock() argument
157 __acquire(lock); in do_raw_spin_lock()
158 arch_spin_lock(&lock->raw_lock); in do_raw_spin_lock()
162 do_raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long *flags) __acquires(lock) in do_raw_spin_lock_flags() argument
164 __acquire(lock); in do_raw_spin_lock_flags()
165 arch_spin_lock_flags(&lock->raw_lock, *flags); in do_raw_spin_lock_flags()
168 static inline int do_raw_spin_trylock(raw_spinlock_t *lock) in do_raw_spin_trylock() argument
170 return arch_spin_trylock(&(lock)->raw_lock); in do_raw_spin_trylock()
173 static inline void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock) in do_raw_spin_unlock() argument
175 arch_spin_unlock(&lock->raw_lock); in do_raw_spin_unlock()
176 __release(lock); in do_raw_spin_unlock()
186 #define raw_spin_trylock(lock) __cond_lock(lock, _raw_spin_trylock(lock)) argument
188 #define raw_spin_lock(lock) _raw_spin_lock(lock) argument
191 # define raw_spin_lock_nested(lock, subclass) \ argument
192 _raw_spin_lock_nested(lock, subclass)
193 # define raw_spin_lock_bh_nested(lock, subclass) \ argument
194 _raw_spin_lock_bh_nested(lock, subclass)
196 # define raw_spin_lock_nest_lock(lock, nest_lock) \ argument
199 _raw_spin_lock_nest_lock(lock, &(nest_lock)->dep_map); \
207 # define raw_spin_lock_nested(lock, subclass) \ argument
208 _raw_spin_lock(((void)(subclass), (lock)))
209 # define raw_spin_lock_nest_lock(lock, nest_lock) _raw_spin_lock(lock) argument
210 # define raw_spin_lock_bh_nested(lock, subclass) _raw_spin_lock_bh(lock) argument
215 #define raw_spin_lock_irqsave(lock, flags) \ argument
218 flags = _raw_spin_lock_irqsave(lock); \
222 #define raw_spin_lock_irqsave_nested(lock, flags, subclass) \ argument
225 flags = _raw_spin_lock_irqsave_nested(lock, subclass); \
228 #define raw_spin_lock_irqsave_nested(lock, flags, subclass) \ argument
231 flags = _raw_spin_lock_irqsave(lock); \
237 #define raw_spin_lock_irqsave(lock, flags) \ argument
240 _raw_spin_lock_irqsave(lock, flags); \
243 #define raw_spin_lock_irqsave_nested(lock, flags, subclass) \ argument
244 raw_spin_lock_irqsave(lock, flags)
248 #define raw_spin_lock_irq(lock) _raw_spin_lock_irq(lock) argument
249 #define raw_spin_lock_bh(lock) _raw_spin_lock_bh(lock) argument
250 #define raw_spin_unlock(lock) _raw_spin_unlock(lock) argument
251 #define raw_spin_unlock_irq(lock) _raw_spin_unlock_irq(lock) argument
253 #define raw_spin_unlock_irqrestore(lock, flags) \ argument
256 _raw_spin_unlock_irqrestore(lock, flags); \
258 #define raw_spin_unlock_bh(lock) _raw_spin_unlock_bh(lock) argument
260 #define raw_spin_trylock_bh(lock) \ argument
261 __cond_lock(lock, _raw_spin_trylock_bh(lock))
263 #define raw_spin_trylock_irq(lock) \ argument
266 raw_spin_trylock(lock) ? \
270 #define raw_spin_trylock_irqsave(lock, flags) \ argument
273 raw_spin_trylock(lock) ? \
281 #define raw_spin_can_lock(lock) (!raw_spin_is_locked(lock)) argument
299 static inline raw_spinlock_t *spinlock_check(spinlock_t *lock) in spinlock_check() argument
301 return &lock->rlock; in spinlock_check()
310 static inline void spin_lock(spinlock_t *lock) in spin_lock() argument
312 raw_spin_lock(&lock->rlock); in spin_lock()
315 static inline void spin_lock_bh(spinlock_t *lock) in spin_lock_bh() argument
317 raw_spin_lock_bh(&lock->rlock); in spin_lock_bh()
320 static inline int spin_trylock(spinlock_t *lock) in spin_trylock() argument
322 return raw_spin_trylock(&lock->rlock); in spin_trylock()
325 #define spin_lock_nested(lock, subclass) \ argument
327 raw_spin_lock_nested(spinlock_check(lock), subclass); \
330 #define spin_lock_bh_nested(lock, subclass) \ argument
332 raw_spin_lock_bh_nested(spinlock_check(lock), subclass);\
335 #define spin_lock_nest_lock(lock, nest_lock) \ argument
337 raw_spin_lock_nest_lock(spinlock_check(lock), nest_lock); \
340 static inline void spin_lock_irq(spinlock_t *lock) in spin_lock_irq() argument
342 raw_spin_lock_irq(&lock->rlock); in spin_lock_irq()
345 #define spin_lock_irqsave(lock, flags) \ argument
347 raw_spin_lock_irqsave(spinlock_check(lock), flags); \
350 #define spin_lock_irqsave_nested(lock, flags, subclass) \ argument
352 raw_spin_lock_irqsave_nested(spinlock_check(lock), flags, subclass); \
355 static inline void spin_unlock(spinlock_t *lock) in spin_unlock() argument
357 raw_spin_unlock(&lock->rlock); in spin_unlock()
360 static inline void spin_unlock_bh(spinlock_t *lock) in spin_unlock_bh() argument
362 raw_spin_unlock_bh(&lock->rlock); in spin_unlock_bh()
365 static inline void spin_unlock_irq(spinlock_t *lock) in spin_unlock_irq() argument
367 raw_spin_unlock_irq(&lock->rlock); in spin_unlock_irq()
370 static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags) in spin_unlock_irqrestore() argument
372 raw_spin_unlock_irqrestore(&lock->rlock, flags); in spin_unlock_irqrestore()
375 static inline int spin_trylock_bh(spinlock_t *lock) in spin_trylock_bh() argument
377 return raw_spin_trylock_bh(&lock->rlock); in spin_trylock_bh()
380 static inline int spin_trylock_irq(spinlock_t *lock) in spin_trylock_irq() argument
382 return raw_spin_trylock_irq(&lock->rlock); in spin_trylock_irq()
385 #define spin_trylock_irqsave(lock, flags) \ argument
387 raw_spin_trylock_irqsave(spinlock_check(lock), flags); \
390 static inline void spin_unlock_wait(spinlock_t *lock) in spin_unlock_wait() argument
392 raw_spin_unlock_wait(&lock->rlock); in spin_unlock_wait()
395 static inline int spin_is_locked(spinlock_t *lock) in spin_is_locked() argument
397 return raw_spin_is_locked(&lock->rlock); in spin_is_locked()
400 static inline int spin_is_contended(spinlock_t *lock) in spin_is_contended() argument
402 return raw_spin_is_contended(&lock->rlock); in spin_is_contended()
405 static inline int spin_can_lock(spinlock_t *lock) in spin_can_lock() argument
407 return raw_spin_can_lock(&lock->rlock); in spin_can_lock()
410 #define assert_spin_locked(lock) assert_raw_spin_locked(&(lock)->rlock) argument
425 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
426 #define atomic_dec_and_lock(atomic, lock) \ argument
427 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock))