idr
struct idr bo_list_handles;
struct idr *idp;
struct idr *idp;
struct idr *idp;
struct idr ctx_handles;
struct idr pasid_idr;
static struct idr drm_minors_idr;
struct idr vgpu_idr; /* vGPU IDR pool */
struct idr metrics_idr;
struct idr context_idr;
struct idr magic_map;
struct idr leases;
struct idr lessee_idr;
struct idr ctx_idr;
struct idr object_name_idr;
struct idr object_idr;
struct idr syncobj_idr;
struct idr crtc_idr;
struct idr tile_idr;
idr_get_next(struct idr *idp, int *nextid)
struct idr idr;
.idr = { .idr_token = LWKT_TOKEN_INITIALIZER("idrtok") }, \
idr_init(&ida->idr);
idr_remove(&ida->idr, id);
idr_remove(&ida->idr, id);
idr_destroy(&ida->idr);
id = idr_alloc(&ida->idr, NULL, start, lim, gfp_mask);
idr_remove(&idr, id);
void *res = idr_find(&idr, id);
static void idr_grow(struct idr *idp, int want);
static void idr_reserve(struct idr *idp, int id, int incr);
static int idr_find_free(struct idr *idp, int want, int lim);
idrfixup(struct idr *idp, int id)
idr_get_node(struct idr *idp, int id)
idr_reserve(struct idr *idp, int id, int incr)
idr_find_free(struct idr *idp, int want, int lim)
idr_pre_get(struct idr *idp, unsigned gfp_mask __unused)
idr_get_new_above(struct idr *idp, void *ptr, int sid, int *id)
idr_alloc(struct idr *idp, void *ptr, int start, int end,
idr_get_new(struct idr *idp, void *ptr, int *id)
idr_grow(struct idr *idp, int want)
idr_remove(struct idr *idp, int id)
idr_remove_all(struct idr *idp)
idr_destroy(struct idr *idp)
idr_find(struct idr *idp, int id)
idr_for_each(struct idr *idp, int (*fn)(int id, void *p, void *data),
idr_replace(struct idr *idp, void *ptr, int id)
idr_init(struct idr *idp)
bzero(idp, sizeof(struct idr));
struct idr idr;
idr_init(&idr);
if (idr_pre_get(&idr, 0) == 0) {
error = idr_get_new_above(&idr,
void *idr_find(struct idr *idp, int id);
void *idr_replace(struct idr *idp, void *ptr, int id);
void *idr_remove(struct idr *idp, int id);
void idr_remove_all(struct idr *idp);
void idr_destroy(struct idr *idp);
int idr_for_each(struct idr *idp, int (*fn)(int id, void *p, void *data), void *data);
int idr_get_new(struct idr *idp, void *ptr, int *id);
int idr_get_new_above(struct idr *idp, void *ptr, int sid, int *id);
int idr_pre_get(struct idr *idp, unsigned gfp_mask);
void idr_init(struct idr *idp);
int idr_alloc(struct idr *idp, void *ptr, int start, int end, unsigned gfp_mask);