Lines Matching defs:usr
49 struct qaic_user *usr = container_of(kref, struct qaic_user, ref_count);
51 cleanup_srcu_struct(&usr->qddev_lock);
52 ida_free(&qaic_usrs, usr->handle);
53 kfree(usr);
60 struct qaic_user *usr;
70 usr = kmalloc(sizeof(*usr), GFP_KERNEL);
71 if (!usr) {
76 usr->handle = ida_alloc(&qaic_usrs, GFP_KERNEL);
77 if (usr->handle < 0) {
78 ret = usr->handle;
81 usr->qddev = qddev;
82 atomic_set(&usr->chunk_id, 0);
83 init_srcu_struct(&usr->qddev_lock);
84 kref_init(&usr->ref_count);
90 list_add(&usr->node, &qddev->users);
93 file->driver_priv = usr;
99 cleanup_srcu_struct(&usr->qddev_lock);
100 ida_free(&qaic_usrs, usr->handle);
102 kfree(usr);
110 struct qaic_user *usr = file->driver_priv;
117 qddev = usr->qddev;
118 usr_rcu_id = srcu_read_lock(&usr->qddev_lock);
123 qaic_release_usr(qdev, usr);
125 if (qdev->dbc[i].usr && qdev->dbc[i].usr->handle == usr->handle)
131 if (!list_empty(&usr->node))
132 list_del_init(&usr->node);
136 srcu_read_unlock(&usr->qddev_lock, usr_rcu_id);
137 kref_put(&usr->ref_count, free_usr);
224 struct qaic_user *usr;
247 usr = list_first_entry(&qddev->users, struct qaic_user, node);
248 list_del_init(&usr->node);
249 kref_get(&usr->ref_count);
250 usr->qddev = NULL;
252 synchronize_srcu(&usr->qddev_lock);
253 kref_put(&usr->ref_count, free_usr);