Lines Matching refs:atomic
170 * architectures imply an smp_mb() for each atomic instruction and equally don't
460 * (asm-mips/atomic.h needs above definitions)
462 #include <linux/atomic.h>
465 * @atomic: the atomic counter
468 * Decrements @atomic by 1. If the result is 0, returns true and locks
471 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
472 #define atomic_dec_and_lock(atomic, lock) \
473 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock))
475 extern int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock,
477 #define atomic_dec_and_lock_irqsave(atomic, lock, flags) \
478 __cond_lock(lock, _atomic_dec_and_lock_irqsave(atomic, lock, &(flags)))
480 extern int _atomic_dec_and_raw_lock(atomic_t *atomic, raw_spinlock_t *lock);
481 #define atomic_dec_and_raw_lock(atomic, lock) \
482 __cond_lock(lock, _atomic_dec_and_raw_lock(atomic, lock))
484 extern int _atomic_dec_and_raw_lock_irqsave(atomic_t *atomic, raw_spinlock_t *lock,
486 #define atomic_dec_and_raw_lock_irqsave(atomic, lock, flags) \
487 __cond_lock(lock, _atomic_dec_and_raw_lock_irqsave(atomic, lock, &(flags)))