Lines Matching refs:id

166 idr_pos(int id, int layer)
168 return (id >> (IDR_BITS * layer)) & IDR_MASK;
222 idr_remove_locked(struct idr *idr, int id)
229 id &= MAX_ID_MASK;
232 if (il == NULL || id > idr_max(idr))
239 idx = idr_pos(id, layer);
244 idx = id & IDR_MASK;
252 id, idr, il);
261 idr_remove(struct idr *idr, int id)
266 res = idr_remove_locked(idr, id);
274 idr_find_layer_locked(struct idr *idr, int id)
279 id &= MAX_ID_MASK;
282 if (il == NULL || id > idr_max(idr))
285 il = il->ary[idr_pos(id, layer)];
292 idr_replace(struct idr *idr, void *ptr, int id)
299 il = idr_find_layer_locked(idr, id);
300 idx = id & IDR_MASK;
314 idr_find_locked(struct idr *idr, int id)
320 il = idr_find_layer_locked(idr, id);
322 res = il->ary[id & IDR_MASK];
329 idr_find(struct idr *idr, int id)
334 res = idr_find_locked(idr, id);
343 int id = *nextidp;
346 for (; id <= idr_max(idr); id++) {
347 res = idr_find_locked(idr, id);
350 *nextidp = id;
433 int id;
456 id = 0;
467 id |= idx << (layer * IDR_BITS);
482 *idp = id;
488 il->bitmap &= ~(1 << idr_pos(id, layer));
493 if (error == 0 && idr_find_locked(idr, id) != ptr) {
494 panic("idr_get_new: Failed for idr %p, id %d, ptr %p\n",
495 idr, id, ptr);
520 int id;
559 id = 0;
574 * a larger starting id. id contains the progress we made so
580 starting_id = id + (1 << ((layer + 1) * IDR_BITS));
585 id |= idx << (layer * IDR_BITS);
600 *idp = id;
606 il->bitmap &= ~(1 << idr_pos(id, layer));
611 if (error == 0 && idr_find_locked(idr, id) != ptr) {
612 panic("idr_get_new_above: Failed for idr %p, id %d, ptr %p\n",
613 idr, id, ptr);
641 int id;
651 error = idr_get_new_locked(idr, ptr, &id);
653 error = idr_get_new_above_locked(idr, ptr, start, &id);
657 if (unlikely(id > max)) {
658 idr_remove_locked(idr, id);
661 return (id);
692 int (*f)(int id, void *p, void *data), void *data)
721 idr_for_each(struct idr *idp, int (*f)(int id, void *p, void *data), void *data)
727 idr_has_entry(int id, void *p, void *data)
757 int ret, id;
773 if ((ret = ida_get_new_above(ida, start, &id)) == 0) {
774 if (id > max) {
775 ida_remove(ida, id);
778 ret = id;
788 ida_simple_remove(struct ida *ida, unsigned int id)
790 idr_remove(&ida->idr, id);
794 ida_remove(struct ida *ida, int id)
796 idr_remove(&ida->idr, id);