Lines Matching refs:idxd_cdev
163 struct idxd_cdev *idxd_cdev = dev_to_cdev(dev); in idxd_cdev_dev_release() local
165 struct idxd_wq *wq = idxd_cdev->wq; in idxd_cdev_dev_release()
168 ida_simple_remove(&cdev_ctx->minor_ida, idxd_cdev->minor); in idxd_cdev_dev_release()
169 kfree(idxd_cdev); in idxd_cdev_dev_release()
177 static inline struct idxd_cdev *inode_idxd_cdev(struct inode *inode) in inode_idxd_cdev()
181 return container_of(cdev, struct idxd_cdev, cdev); in inode_idxd_cdev()
186 struct idxd_cdev *idxd_cdev = inode_idxd_cdev(inode); in inode_wq() local
188 return idxd_cdev->wq; in inode_wq()
230 struct idxd_cdev *idxd_cdev; in idxd_cdev_open() local
286 idxd_cdev = wq->idxd_cdev; in idxd_cdev_open()
297 fdev->parent = cdev_dev(idxd_cdev); in idxd_cdev_open()
451 struct idxd_cdev *idxd_cdev; in idxd_wq_add_cdev() local
457 idxd_cdev = kzalloc(sizeof(*idxd_cdev), GFP_KERNEL); in idxd_wq_add_cdev()
458 if (!idxd_cdev) in idxd_wq_add_cdev()
461 idxd_cdev->idxd_dev.type = IDXD_DEV_CDEV; in idxd_wq_add_cdev()
462 idxd_cdev->wq = wq; in idxd_wq_add_cdev()
463 cdev = &idxd_cdev->cdev; in idxd_wq_add_cdev()
464 dev = cdev_dev(idxd_cdev); in idxd_wq_add_cdev()
468 kfree(idxd_cdev); in idxd_wq_add_cdev()
471 idxd_cdev->minor = minor; in idxd_wq_add_cdev()
483 wq->idxd_cdev = idxd_cdev; in idxd_wq_add_cdev()
495 wq->idxd_cdev = NULL; in idxd_wq_add_cdev()
501 struct idxd_cdev *idxd_cdev; in idxd_wq_del_cdev() local
503 idxd_cdev = wq->idxd_cdev; in idxd_wq_del_cdev()
505 wq->idxd_cdev = NULL; in idxd_wq_del_cdev()
506 cdev_device_del(&idxd_cdev->cdev, cdev_dev(idxd_cdev)); in idxd_wq_del_cdev()
507 put_device(cdev_dev(idxd_cdev)); in idxd_wq_del_cdev()