Lines Matching refs:r
28 rt_inline void rt_ref_init(struct rt_ref *r) in rt_ref_init() argument
30 rt_atomic_store(&r->refcount, 1); in rt_ref_init()
33 rt_inline unsigned int rt_ref_read(struct rt_ref *r) in rt_ref_read() argument
35 return rt_atomic_load(&r->refcount); in rt_ref_read()
42 rt_inline void rt_ref_get(struct rt_ref *r) in rt_ref_get() argument
44 rt_atomic_add(&r->refcount, 1); in rt_ref_get()
54 rt_inline int rt_ref_put(struct rt_ref *r, void (*release)(struct rt_ref *r)) in rt_ref_put() argument
56 if (rt_atomic_dec_and_test(&r->refcount)) in rt_ref_put()
58 release(r); in rt_ref_put()
70 rt_inline int rt_ref_get_unless_zero(struct rt_ref *r) in rt_ref_get_unless_zero() argument
72 return (int)rt_atomic_inc_not_zero(&r->refcount); in rt_ref_get_unless_zero()