ida 134 include/linux/idr.h #define DEFINE_IDA(name) struct ida name = IDA_INIT(name) ida 652 lib/idr.c if (!ida->free_bitmap) { ida 653 lib/idr.c spin_lock_irqsave(&ida->idr.lock, flags); ida 654 lib/idr.c if (!ida->free_bitmap) { ida 655 lib/idr.c ida->free_bitmap = bitmap; ida 658 lib/idr.c spin_unlock_irqrestore(&ida->idr.lock, flags); ida 679 lib/idr.c if (!idr_pre_get(&ida->idr, gfp_mask)) ida 683 lib/idr.c if (!ida->free_bitmap) { ida 690 lib/idr.c free_bitmap(ida, bitmap); ida 723 lib/idr.c t = idr_get_empty_slot(&ida->idr, idr_id, pa); ida 737 lib/idr.c spin_lock_irqsave(&ida->idr.lock, flags); ida 738 lib/idr.c bitmap = ida->free_bitmap; ida 739 lib/idr.c ida->free_bitmap = NULL; ida 740 lib/idr.c spin_unlock_irqrestore(&ida->idr.lock, flags); ida 775 lib/idr.c if (ida->idr.id_free_cnt || ida->free_bitmap) { ida 776 lib/idr.c struct idr_layer *p = get_from_free_list(&ida->idr); ida 800 lib/idr.c return ida_get_new_above(ida, 0, p_id); ida 811 lib/idr.c struct idr_layer *p = ida->idr.top; ida 812 lib/idr.c int shift = (ida->idr.layers - 1) * IDR_BITS; ida 840 lib/idr.c idr_remove(&ida->idr, idr_id); ida 841 lib/idr.c free_bitmap(ida, bitmap); ida 858 lib/idr.c idr_destroy(&ida->idr); ida 859 lib/idr.c kfree(ida->free_bitmap); ida 872 lib/idr.c memset(ida, 0, sizeof(struct ida)); ida 873 lib/idr.c idr_init(&ida->idr);