Lines Matching defs:aux_dev

62 	struct drm_dp_aux_dev *aux_dev = NULL;
65 aux_dev = idr_find(&aux_idr, index);
66 if (aux_dev && !kref_get_unless_zero(&aux_dev->refcount))
67 aux_dev = NULL;
70 return aux_dev;
75 struct drm_dp_aux_dev *aux_dev;
78 aux_dev = kzalloc(sizeof(*aux_dev), GFP_KERNEL);
79 if (!aux_dev)
81 aux_dev->aux = aux;
82 atomic_set(&aux_dev->usecount, 1);
83 kref_init(&aux_dev->refcount);
86 index = idr_alloc(&aux_idr, aux_dev, 0, DRM_AUX_MINORS, GFP_KERNEL);
89 kfree(aux_dev);
92 aux_dev->index = index;
94 return aux_dev;
99 struct drm_dp_aux_dev *aux_dev =
102 kfree(aux_dev);
109 struct drm_dp_aux_dev *aux_dev =
112 if (!aux_dev)
115 res = sprintf(buf, "%s\n", aux_dev->aux->name);
116 kref_put(&aux_dev->refcount, release_drm_dp_aux_dev);
131 struct drm_dp_aux_dev *aux_dev;
133 aux_dev = drm_dp_aux_dev_get_by_minor(minor);
134 if (!aux_dev)
137 file->private_data = aux_dev;
148 struct drm_dp_aux_dev *aux_dev = iocb->ki_filp->private_data;
152 if (!atomic_inc_not_zero(&aux_dev->usecount))
166 res = drm_dp_dpcd_read(aux_dev->aux, pos, buf, todo);
183 if (atomic_dec_and_test(&aux_dev->usecount))
184 wake_up_var(&aux_dev->usecount);
191 struct drm_dp_aux_dev *aux_dev = iocb->ki_filp->private_data;
195 if (!atomic_inc_not_zero(&aux_dev->usecount))
214 res = drm_dp_dpcd_write(aux_dev->aux, pos, buf, todo);
226 if (atomic_dec_and_test(&aux_dev->usecount))
227 wake_up_var(&aux_dev->usecount);
234 struct drm_dp_aux_dev *aux_dev = file->private_data;
236 kref_put(&aux_dev->refcount, release_drm_dp_aux_dev);
253 struct drm_dp_aux_dev *iter, *aux_dev = NULL;
264 aux_dev = iter;
269 return aux_dev;
274 struct drm_dp_aux_dev *aux_dev;
277 aux_dev = drm_dp_aux_dev_get_by_aux(aux);
278 if (!aux_dev) /* attach must have failed */
288 idr_remove(&aux_idr, aux_dev->index);
291 atomic_dec(&aux_dev->usecount);
292 wait_var_event(&aux_dev->usecount, !atomic_read(&aux_dev->usecount));
294 minor = aux_dev->index;
295 if (aux_dev->dev)
300 kref_put(&aux_dev->refcount, release_drm_dp_aux_dev);
305 struct drm_dp_aux_dev *aux_dev;
308 aux_dev = alloc_drm_dp_aux_dev(aux);
309 if (IS_ERR(aux_dev))
310 return PTR_ERR(aux_dev);
312 aux_dev->dev = device_create(drm_dp_aux_dev_class, aux->dev,
313 MKDEV(drm_dev_major, aux_dev->index), NULL,
314 "drm_dp_aux%d", aux_dev->index);
315 if (IS_ERR(aux_dev->dev)) {
316 res = PTR_ERR(aux_dev->dev);
317 aux_dev->dev = NULL;
322 aux->name, aux_dev->index);