Lines Matching refs:ct
152 struct wf_control *ct = container_of(kref, struct wf_control, ref); in wf_control_release() local
154 DBG("wf: Deleting control %s\n", ct->name); in wf_control_release()
156 if (ct->ops && ct->ops->release) in wf_control_release()
157 ct->ops->release(ct); in wf_control_release()
159 kfree(ct); in wf_control_release()
212 struct wf_control *ct; in wf_register_control() local
215 list_for_each_entry(ct, &wf_controls, link) { in wf_register_control()
216 if (!strcmp(ct->name, new_ct->name)) { in wf_register_control()
218 " duplicate control %s\n", ct->name); in wf_register_control()
245 void wf_unregister_control(struct wf_control *ct) in wf_unregister_control() argument
248 list_del(&ct->link); in wf_unregister_control()
251 DBG("wf: Unregistered control %s\n", ct->name); in wf_unregister_control()
253 kref_put(&ct->ref, wf_control_release); in wf_unregister_control()
257 int wf_get_control(struct wf_control *ct) in wf_get_control() argument
259 if (!try_module_get(ct->ops->owner)) in wf_get_control()
261 kref_get(&ct->ref); in wf_get_control()
266 void wf_put_control(struct wf_control *ct) in wf_put_control() argument
268 struct module *mod = ct->ops->owner; in wf_put_control()
269 kref_put(&ct->ref, wf_control_release); in wf_put_control()
377 struct wf_control *ct; in wf_register_client() local
385 list_for_each_entry(ct, &wf_controls, link) in wf_register_client()
386 wf_notify(WF_EVENT_NEW_CONTROL, ct); in wf_register_client()