Lines Matching refs:idr
63 * needs to be held during all idr operations. When an object is
75 * the idr. This handles a reader that blocks and does not acquire
117 static int idr_add_uobj(struct idr *idr, struct ib_uobject *uobj)
122 if (!idr_pre_get(idr, GFP_KERNEL))
126 ret = idr_get_new(idr, uobj, &uobj->id);
135 void idr_remove_uobj(struct idr *idr, struct ib_uobject *uobj)
138 idr_remove(idr, uobj->id);
142 static struct ib_uobject *__idr_get_uobj(struct idr *idr, int id,
148 uobj = idr_find(idr, id);
160 static struct ib_uobject *idr_read_uobj(struct idr *idr, int id,
165 uobj = __idr_get_uobj(idr, id, context);
181 static struct ib_uobject *idr_write_uobj(struct idr *idr, int id,
186 uobj = __idr_get_uobj(idr, id, context);
199 static void *idr_read_obj(struct idr *idr, int id, struct ib_ucontext *context,
204 uobj = idr_read_uobj(idr, id, context, nested);