Lines Matching refs:ida
230 struct ida { struct
237 #define DEFINE_IDA(name) struct ida name = IDA_INIT(name)
239 int ida_alloc_range(struct ida *, unsigned int min, unsigned int max, gfp_t);
240 void ida_free(struct ida *, unsigned int id);
241 void ida_destroy(struct ida *ida);
254 static inline int ida_alloc(struct ida *ida, gfp_t gfp) in ida_alloc() argument
256 return ida_alloc_range(ida, 0, ~0, gfp); in ida_alloc()
271 static inline int ida_alloc_min(struct ida *ida, unsigned int min, gfp_t gfp) in ida_alloc_min() argument
273 return ida_alloc_range(ida, min, ~0, gfp); in ida_alloc_min()
288 static inline int ida_alloc_max(struct ida *ida, unsigned int max, gfp_t gfp) in ida_alloc_max() argument
290 return ida_alloc_range(ida, 0, max, gfp); in ida_alloc_max()
293 static inline void ida_init(struct ida *ida) in ida_init() argument
295 INIT_RADIX_TREE(&ida->ida_rt, IDR_RT_MARKER | GFP_NOWAIT); in ida_init()
298 #define ida_simple_get(ida, start, end, gfp) \ argument
299 ida_alloc_range(ida, start, (end) - 1, gfp)
300 #define ida_simple_remove(ida, id) ida_free(ida, id) argument
302 static inline bool ida_is_empty(const struct ida *ida) in ida_is_empty() argument
304 return radix_tree_empty(&ida->ida_rt); in ida_is_empty()
308 int ida_pre_get(struct ida *ida, gfp_t gfp_mask);