Lines Matching refs:r
13 void refcount_warn_saturate(refcount_t *r, enum refcount_saturation_type t) in refcount_warn_saturate() argument
15 refcount_set(r, REFCOUNT_SATURATED); in refcount_warn_saturate()
55 bool refcount_dec_if_one(refcount_t *r) in refcount_dec_if_one() argument
59 return atomic_try_cmpxchg_release(&r->refs, &val, 0); in refcount_dec_if_one()
74 bool refcount_dec_not_one(refcount_t *r) in refcount_dec_not_one() argument
76 unsigned int new, val = atomic_read(&r->refs); in refcount_dec_not_one()
91 } while (!atomic_try_cmpxchg_release(&r->refs, &val, new)); in refcount_dec_not_one()
113 bool refcount_dec_and_mutex_lock(refcount_t *r, struct mutex *lock) in refcount_dec_and_mutex_lock() argument
115 if (refcount_dec_not_one(r)) in refcount_dec_and_mutex_lock()
119 if (!refcount_dec_and_test(r)) { in refcount_dec_and_mutex_lock()
144 bool refcount_dec_and_lock(refcount_t *r, spinlock_t *lock) in refcount_dec_and_lock() argument
146 if (refcount_dec_not_one(r)) in refcount_dec_and_lock()
150 if (!refcount_dec_and_test(r)) { in refcount_dec_and_lock()
172 bool refcount_dec_and_lock_irqsave(refcount_t *r, spinlock_t *lock, in refcount_dec_and_lock_irqsave() argument
175 if (refcount_dec_not_one(r)) in refcount_dec_and_lock_irqsave()
179 if (!refcount_dec_and_test(r)) { in refcount_dec_and_lock_irqsave()