Lines Matching refs:cmod
55 .cmod = NULL, in codetag_get_ct_iter()
64 static inline struct codetag *get_first_module_ct(struct codetag_module *cmod) in get_first_module_ct() argument
66 return cmod->range.start < cmod->range.stop ? cmod->range.start : NULL; in get_first_module_ct()
75 return res < iter->cmod->range.stop ? res : NULL; in get_next_module_ct()
81 struct codetag_module *cmod; in codetag_next_ct() local
91 cmod = idr_find(&cttype->mod_idr, iter->mod_id); in codetag_next_ct()
94 if (!cmod) in codetag_next_ct()
95 cmod = idr_get_next_ul(&cttype->mod_idr, in codetag_next_ct()
99 if (!cmod) in codetag_next_ct()
102 if (!iter->cmod || iter->mod_seq != cmod->mod_seq) { in codetag_next_ct()
103 iter->cmod = cmod; in codetag_next_ct()
104 iter->mod_seq = cmod->mod_seq; in codetag_next_ct()
105 ct = get_first_module_ct(cmod); in codetag_next_ct()
179 struct codetag_module *cmod; in codetag_module_init() local
196 cmod = kmalloc_obj(*cmod); in codetag_module_init()
197 if (unlikely(!cmod)) in codetag_module_init()
200 cmod->mod = mod; in codetag_module_init()
201 cmod->range = range; in codetag_module_init()
204 cmod->mod_seq = ++cttype->next_mod_seq; in codetag_module_init()
205 mod_id = idr_alloc(&cttype->mod_idr, cmod, 0, 0, GFP_KERNEL); in codetag_module_init()
223 kfree(cmod); in codetag_module_init()
351 struct codetag_module *cmod; in codetag_unload_module() local
355 idr_for_each_entry_ul(&cttype->mod_idr, cmod, tmp, mod_id) { in codetag_unload_module()
356 if (cmod->mod && cmod->mod == mod) { in codetag_unload_module()
357 found = cmod; in codetag_unload_module()
363 cttype->desc.module_unload(cmod->mod, in codetag_unload_module()
364 cmod->range.start, cmod->range.stop); in codetag_unload_module()
366 cttype->count -= range_size(cttype, &cmod->range); in codetag_unload_module()
368 kfree(cmod); in codetag_unload_module()