Lines Matching refs:item

36 static void config_item_init(struct config_item *item)  in config_item_init()  argument
38 kref_init(&item->ci_kref); in config_item_init()
39 INIT_LIST_HEAD(&item->ci_entry); in config_item_init()
51 int config_item_set_name(struct config_item *item, const char *fmt, ...) in config_item_set_name() argument
62 need = vsnprintf(item->ci_namebuf, limit, fmt, args); in config_item_set_name()
65 name = item->ci_namebuf; in config_item_set_name()
75 if (item->ci_name && item->ci_name != item->ci_namebuf) in config_item_set_name()
76 kfree(item->ci_name); in config_item_set_name()
79 item->ci_name = name; in config_item_set_name()
84 void config_item_init_type_name(struct config_item *item, in config_item_init_type_name() argument
88 config_item_set_name(item, "%s", name); in config_item_init_type_name()
89 item->ci_type = type; in config_item_init_type_name()
90 config_item_init(item); in config_item_init_type_name()
103 struct config_item *config_item_get(struct config_item *item) in config_item_get() argument
105 if (item) in config_item_get()
106 kref_get(&item->ci_kref); in config_item_get()
107 return item; in config_item_get()
111 struct config_item *config_item_get_unless_zero(struct config_item *item) in config_item_get_unless_zero() argument
113 if (item && kref_get_unless_zero(&item->ci_kref)) in config_item_get_unless_zero()
114 return item; in config_item_get_unless_zero()
119 static void config_item_cleanup(struct config_item *item) in config_item_cleanup() argument
121 const struct config_item_type *t = item->ci_type; in config_item_cleanup()
122 struct config_group *s = item->ci_group; in config_item_cleanup()
123 struct config_item *parent = item->ci_parent; in config_item_cleanup()
125 pr_debug("config_item %s: cleaning up\n", config_item_name(item)); in config_item_cleanup()
126 if (item->ci_name != item->ci_namebuf) in config_item_cleanup()
127 kfree(item->ci_name); in config_item_cleanup()
128 item->ci_name = NULL; in config_item_cleanup()
130 t->ct_item_ops->release(item); in config_item_cleanup()
148 void config_item_put(struct config_item *item) in config_item_put() argument
150 if (item) in config_item_put()
151 kref_put(&item->ci_kref, config_item_release); in config_item_put()
183 struct config_item *item = to_item(entry); in config_group_find_item() local
184 if (config_item_name(item) && in config_group_find_item()
185 !strcmp(config_item_name(item), name)) { in config_group_find_item()
186 ret = config_item_get(item); in config_group_find_item()