Lines Matching refs:id
62 idr_pos(int id, int layer)
64 return (id >> (IDR_BITS * layer)) & IDR_MASK;
117 idr_remove(struct idr *idr, int id)
123 id &= MAX_ID_MASK;
127 if (il == NULL || id > idr_max(idr)) {
136 idx = idr_pos(id, layer);
141 idx = id & IDR_MASK;
149 id, idr, il);
157 idr_replace(struct idr *idr, void *ptr, int id)
165 id &= MAX_ID_MASK;
169 if (il == NULL || id > idr_max(idr))
172 il = il->ary[idr_pos(id, layer)];
175 idx = id & IDR_MASK;
189 idr_find_locked(struct idr *idr, int id)
197 id &= MAX_ID_MASK;
201 if (il == NULL || id > idr_max(idr))
204 il = il->ary[idr_pos(id, layer)];
208 res = il->ary[id & IDR_MASK];
213 idr_find(struct idr *idr, int id)
218 res = idr_find_locked(idr, id);
286 int id;
308 id = 0;
319 id |= idx << (layer * IDR_BITS);
334 *idp = id;
340 il->bitmap &= ~(1 << idr_pos(id, layer));
345 if (error == 0 && idr_find_locked(idr, id) != ptr) {
346 panic("idr_get_new: Failed for idr %p, id %d, ptr %p\n",
347 idr, id, ptr);
362 int id;
400 id = 0;
415 * a larger starting id. id contains the progress we made so
421 starting_id = id + (1 << ((layer + 1) * IDR_BITS));
426 id |= idx << (layer * IDR_BITS);
441 *idp = id;
447 il->bitmap &= ~(1 << idr_pos(id, layer));
452 if (error == 0 && idr_find_locked(idr, id) != ptr) {
453 panic("idr_get_new_above: Failed for idr %p, id %d, ptr %p\n",
454 idr, id, ptr);