Lines Matching refs:idxd_cdev
44 struct idxd_cdev *idxd_cdev = dev_to_cdev(dev); in idxd_cdev_dev_release() local
46 struct idxd_wq *wq = idxd_cdev->wq; in idxd_cdev_dev_release()
49 ida_simple_remove(&cdev_ctx->minor_ida, idxd_cdev->minor); in idxd_cdev_dev_release()
50 kfree(idxd_cdev); in idxd_cdev_dev_release()
58 static inline struct idxd_cdev *inode_idxd_cdev(struct inode *inode) in inode_idxd_cdev()
62 return container_of(cdev, struct idxd_cdev, cdev); in inode_idxd_cdev()
67 struct idxd_cdev *idxd_cdev = inode_idxd_cdev(inode); in inode_wq() local
69 return idxd_cdev->wq; in inode_wq()
248 struct idxd_cdev *idxd_cdev; in idxd_wq_add_cdev() local
254 idxd_cdev = kzalloc(sizeof(*idxd_cdev), GFP_KERNEL); in idxd_wq_add_cdev()
255 if (!idxd_cdev) in idxd_wq_add_cdev()
258 idxd_cdev->idxd_dev.type = IDXD_DEV_CDEV; in idxd_wq_add_cdev()
259 idxd_cdev->wq = wq; in idxd_wq_add_cdev()
260 cdev = &idxd_cdev->cdev; in idxd_wq_add_cdev()
261 dev = cdev_dev(idxd_cdev); in idxd_wq_add_cdev()
265 kfree(idxd_cdev); in idxd_wq_add_cdev()
268 idxd_cdev->minor = minor; in idxd_wq_add_cdev()
280 wq->idxd_cdev = idxd_cdev; in idxd_wq_add_cdev()
292 wq->idxd_cdev = NULL; in idxd_wq_add_cdev()
298 struct idxd_cdev *idxd_cdev; in idxd_wq_del_cdev() local
300 idxd_cdev = wq->idxd_cdev; in idxd_wq_del_cdev()
301 wq->idxd_cdev = NULL; in idxd_wq_del_cdev()
302 cdev_device_del(&idxd_cdev->cdev, cdev_dev(idxd_cdev)); in idxd_wq_del_cdev()
303 put_device(cdev_dev(idxd_cdev)); in idxd_wq_del_cdev()