sysref
sysref_init(struct sysref *sr, struct sysref_class *srclass)
struct sysref *sr;
sr = (struct sysref *)(data + srclass->offset);
n = srclass->offset + sizeof(struct sysref);
struct sysref *sr = (void *)((char *)data + srclass->offset);
struct sysref *sr = (void *)((char *)data + srclass->offset);
sysref_activate(struct sysref *sr)
_sysref_put(struct sysref *sr)
static int rb_sysref_compare(struct sysref *sr1, struct sysref *sr2);
RB_GENERATE2(sysref_rb_tree, sysref, rbnode, rb_sysref_compare, sysid_t, sysid);
SYSINIT(sysref, SI_BOOT2_MACHDEP, SI_ORDER_ANY, sysrefbootinit, NULL);
rb_sysref_compare(struct sysref *sr1, struct sysref *sr2)
struct sysref si_sysref;
RB_ENTRY(sysref) rbnode; /* per-cpu red-black tree node */
RB_HEAD(sysref_rb_tree, sysref);
RB_PROTOTYPE2(sysref_rb_tree, sysref, rbnode, rb_sysref_compare, sysid_t);
sysref_isinactive(struct sysref *sr)
sysref_islastdeactivation(struct sysref *sr)
void sysref_init(struct sysref *sr, struct sysref_class *);
void sysref_activate(struct sysref *);
void _sysref_put(struct sysref *);
sysref_get(struct sysref *sr)
sysref_put(struct sysref *sr)
sysref_isactive(struct sysref *sr)