Lines Matching defs:dev
21 cn_queue_alloc_callback_entry(struct cn_queue_dev *dev, const char *name,
36 atomic_inc(&dev->refcnt);
37 cbq->pdev = dev;
59 int cn_queue_add_callback(struct cn_queue_dev *dev, const char *name,
67 cbq = cn_queue_alloc_callback_entry(dev, name, id, callback);
71 spin_lock_bh(&dev->queue_lock);
72 list_for_each_entry(__cbq, &dev->queue_list, callback_entry) {
79 list_add_tail(&cbq->callback_entry, &dev->queue_list);
80 spin_unlock_bh(&dev->queue_lock);
93 void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id)
98 spin_lock_bh(&dev->queue_lock);
99 list_for_each_entry_safe(cbq, n, &dev->queue_list, callback_entry) {
106 spin_unlock_bh(&dev->queue_lock);
114 struct cn_queue_dev *dev;
116 dev = kzalloc(sizeof(*dev), GFP_KERNEL);
117 if (!dev)
120 snprintf(dev->name, sizeof(dev->name), "%s", name);
121 atomic_set(&dev->refcnt, 0);
122 INIT_LIST_HEAD(&dev->queue_list);
123 spin_lock_init(&dev->queue_lock);
125 dev->nls = nls;
127 return dev;
130 void cn_queue_free_dev(struct cn_queue_dev *dev)
134 spin_lock_bh(&dev->queue_lock);
135 list_for_each_entry_safe(cbq, n, &dev->queue_list, callback_entry)
137 spin_unlock_bh(&dev->queue_lock);
139 while (atomic_read(&dev->refcnt)) {
141 dev->name, atomic_read(&dev->refcnt));
145 kfree(dev);
146 dev = NULL;