• Home
  • Raw
  • Download

Lines Matching refs:lock

96   extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
99 # define raw_spin_lock_init(lock) \ argument
103 __raw_spin_lock_init((lock), #lock, &__key, LD_WAIT_SPIN); \
107 # define raw_spin_lock_init(lock) \ argument
108 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
111 #define raw_spin_is_locked(lock) arch_spin_is_locked(&(lock)->raw_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
175 extern void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock);
176 #define do_raw_spin_lock_flags(lock, flags) do_raw_spin_lock(lock) argument
177 extern int do_raw_spin_trylock(raw_spinlock_t *lock);
178 extern void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock);
180 static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock) in do_raw_spin_lock() argument
182 __acquire(lock); in do_raw_spin_lock()
183 arch_spin_lock(&lock->raw_lock); in do_raw_spin_lock()
188 #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) argument
192 do_raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long *flags) __acquires(lock) in do_raw_spin_lock_flags() argument
194 __acquire(lock); in do_raw_spin_lock_flags()
195 arch_spin_lock_flags(&lock->raw_lock, *flags); in do_raw_spin_lock_flags()
199 static inline int do_raw_spin_trylock(raw_spinlock_t *lock) in do_raw_spin_trylock() argument
201 int ret = arch_spin_trylock(&(lock)->raw_lock); in do_raw_spin_trylock()
209 static inline void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock) in do_raw_spin_unlock() argument
212 arch_spin_unlock(&lock->raw_lock); in do_raw_spin_unlock()
213 __release(lock); in do_raw_spin_unlock()
223 #define raw_spin_trylock(lock) __cond_lock(lock, _raw_spin_trylock(lock)) argument
225 #define raw_spin_lock(lock) _raw_spin_lock(lock) argument
228 # define raw_spin_lock_nested(lock, subclass) \ argument
229 _raw_spin_lock_nested(lock, subclass)
231 # define raw_spin_lock_nest_lock(lock, nest_lock) \ argument
234 _raw_spin_lock_nest_lock(lock, &(nest_lock)->dep_map); \
242 # define raw_spin_lock_nested(lock, subclass) \ argument
243 _raw_spin_lock(((void)(subclass), (lock)))
244 # define raw_spin_lock_nest_lock(lock, nest_lock) _raw_spin_lock(lock) argument
249 #define raw_spin_lock_irqsave(lock, flags) \ argument
252 flags = _raw_spin_lock_irqsave(lock); \
256 #define raw_spin_lock_irqsave_nested(lock, flags, subclass) \ argument
259 flags = _raw_spin_lock_irqsave_nested(lock, subclass); \
262 #define raw_spin_lock_irqsave_nested(lock, flags, subclass) \ argument
265 flags = _raw_spin_lock_irqsave(lock); \
271 #define raw_spin_lock_irqsave(lock, flags) \ argument
274 _raw_spin_lock_irqsave(lock, flags); \
277 #define raw_spin_lock_irqsave_nested(lock, flags, subclass) \ argument
278 raw_spin_lock_irqsave(lock, flags)
282 #define raw_spin_lock_irq(lock) _raw_spin_lock_irq(lock) argument
283 #define raw_spin_lock_bh(lock) _raw_spin_lock_bh(lock) argument
284 #define raw_spin_unlock(lock) _raw_spin_unlock(lock) argument
285 #define raw_spin_unlock_irq(lock) _raw_spin_unlock_irq(lock) argument
287 #define raw_spin_unlock_irqrestore(lock, flags) \ argument
290 _raw_spin_unlock_irqrestore(lock, flags); \
292 #define raw_spin_unlock_bh(lock) _raw_spin_unlock_bh(lock) argument
294 #define raw_spin_trylock_bh(lock) \ argument
295 __cond_lock(lock, _raw_spin_trylock_bh(lock))
297 #define raw_spin_trylock_irq(lock) \ argument
300 raw_spin_trylock(lock) ? \
304 #define raw_spin_trylock_irqsave(lock, flags) \ argument
307 raw_spin_trylock(lock) ? \
327 static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock) in spinlock_check() argument
329 return &lock->rlock; in spinlock_check()
334 # define spin_lock_init(lock) \ argument
338 __raw_spin_lock_init(spinlock_check(lock), \
339 #lock, &__key, LD_WAIT_CONFIG); \
352 static __always_inline void spin_lock(spinlock_t *lock) in spin_lock() argument
354 raw_spin_lock(&lock->rlock); in spin_lock()
357 static __always_inline void spin_lock_bh(spinlock_t *lock) in spin_lock_bh() argument
359 raw_spin_lock_bh(&lock->rlock); in spin_lock_bh()
362 static __always_inline int spin_trylock(spinlock_t *lock) in spin_trylock() argument
364 return raw_spin_trylock(&lock->rlock); in spin_trylock()
367 #define spin_lock_nested(lock, subclass) \ argument
369 raw_spin_lock_nested(spinlock_check(lock), subclass); \
372 #define spin_lock_nest_lock(lock, nest_lock) \ argument
374 raw_spin_lock_nest_lock(spinlock_check(lock), nest_lock); \
377 static __always_inline void spin_lock_irq(spinlock_t *lock) in spin_lock_irq() argument
379 raw_spin_lock_irq(&lock->rlock); in spin_lock_irq()
382 #define spin_lock_irqsave(lock, flags) \ argument
384 raw_spin_lock_irqsave(spinlock_check(lock), flags); \
387 #define spin_lock_irqsave_nested(lock, flags, subclass) \ argument
389 raw_spin_lock_irqsave_nested(spinlock_check(lock), flags, subclass); \
392 static __always_inline void spin_unlock(spinlock_t *lock) in spin_unlock() argument
394 raw_spin_unlock(&lock->rlock); in spin_unlock()
397 static __always_inline void spin_unlock_bh(spinlock_t *lock) in spin_unlock_bh() argument
399 raw_spin_unlock_bh(&lock->rlock); in spin_unlock_bh()
402 static __always_inline void spin_unlock_irq(spinlock_t *lock) in spin_unlock_irq() argument
404 raw_spin_unlock_irq(&lock->rlock); in spin_unlock_irq()
407 static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags) in spin_unlock_irqrestore() argument
409 raw_spin_unlock_irqrestore(&lock->rlock, flags); in spin_unlock_irqrestore()
412 static __always_inline int spin_trylock_bh(spinlock_t *lock) in spin_trylock_bh() argument
414 return raw_spin_trylock_bh(&lock->rlock); in spin_trylock_bh()
417 static __always_inline int spin_trylock_irq(spinlock_t *lock) in spin_trylock_irq() argument
419 return raw_spin_trylock_irq(&lock->rlock); in spin_trylock_irq()
422 #define spin_trylock_irqsave(lock, flags) \ argument
424 raw_spin_trylock_irqsave(spinlock_check(lock), flags); \
445 static __always_inline int spin_is_locked(spinlock_t *lock) in spin_is_locked() argument
447 return raw_spin_is_locked(&lock->rlock); in spin_is_locked()
450 static __always_inline int spin_is_contended(spinlock_t *lock) in spin_is_contended() argument
452 return raw_spin_is_contended(&lock->rlock); in spin_is_contended()
455 #define assert_spin_locked(lock) assert_raw_spin_locked(&(lock)->rlock) argument
470 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
471 #define atomic_dec_and_lock(atomic, lock) \ argument
472 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock))
474 extern int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock,
476 #define atomic_dec_and_lock_irqsave(atomic, lock, flags) \ argument
477 __cond_lock(lock, _atomic_dec_and_lock_irqsave(atomic, lock, &(flags)))