Lines Matching refs:cbq

40 	struct cn_callback_entry *cbq;  in cn_queue_alloc_callback_entry()  local
42 cbq = kzalloc(sizeof(*cbq), GFP_KERNEL); in cn_queue_alloc_callback_entry()
43 if (!cbq) { in cn_queue_alloc_callback_entry()
48 atomic_set(&cbq->refcnt, 1); in cn_queue_alloc_callback_entry()
51 cbq->pdev = dev; in cn_queue_alloc_callback_entry()
53 snprintf(cbq->id.name, sizeof(cbq->id.name), "%s", name); in cn_queue_alloc_callback_entry()
54 memcpy(&cbq->id.id, id, sizeof(struct cb_id)); in cn_queue_alloc_callback_entry()
55 cbq->callback = callback; in cn_queue_alloc_callback_entry()
56 return cbq; in cn_queue_alloc_callback_entry()
59 void cn_queue_release_callback(struct cn_callback_entry *cbq) in cn_queue_release_callback() argument
61 if (!atomic_dec_and_test(&cbq->refcnt)) in cn_queue_release_callback()
64 atomic_dec(&cbq->pdev->refcnt); in cn_queue_release_callback()
65 kfree(cbq); in cn_queue_release_callback()
78 struct cn_callback_entry *cbq, *__cbq; in cn_queue_add_callback() local
81 cbq = cn_queue_alloc_callback_entry(dev, name, id, callback); in cn_queue_add_callback()
82 if (!cbq) in cn_queue_add_callback()
93 list_add_tail(&cbq->callback_entry, &dev->queue_list); in cn_queue_add_callback()
97 cn_queue_release_callback(cbq); in cn_queue_add_callback()
101 cbq->seq = 0; in cn_queue_add_callback()
102 cbq->group = cbq->id.id.idx; in cn_queue_add_callback()
109 struct cn_callback_entry *cbq, *n; in cn_queue_del_callback() local
113 list_for_each_entry_safe(cbq, n, &dev->queue_list, callback_entry) { in cn_queue_del_callback()
114 if (cn_cb_equal(&cbq->id.id, id)) { in cn_queue_del_callback()
115 list_del(&cbq->callback_entry); in cn_queue_del_callback()
123 cn_queue_release_callback(cbq); in cn_queue_del_callback()
146 struct cn_callback_entry *cbq, *n; in cn_queue_free_dev() local
149 list_for_each_entry_safe(cbq, n, &dev->queue_list, callback_entry) in cn_queue_free_dev()
150 list_del(&cbq->callback_entry); in cn_queue_free_dev()