Lines Matching refs:dev

80 static char *uverbs_devnode(const struct device *dev, umode_t *mode)  in uverbs_devnode()  argument
84 return kasprintf(GFP_KERNEL, "infiniband/%s", dev_name(dev)); in uverbs_devnode()
132 struct ib_uverbs_device *dev = in ib_uverbs_release_dev() local
133 container_of(device, struct ib_uverbs_device, dev); in ib_uverbs_release_dev()
135 uverbs_destroy_api(dev->uapi); in ib_uverbs_release_dev()
136 cleanup_srcu_struct(&dev->disassociate_srcu); in ib_uverbs_release_dev()
137 mutex_destroy(&dev->lists_mutex); in ib_uverbs_release_dev()
138 mutex_destroy(&dev->xrcd_tree_mutex); in ib_uverbs_release_dev()
139 kfree(dev); in ib_uverbs_release_dev()
190 static void ib_uverbs_comp_dev(struct ib_uverbs_device *dev) in ib_uverbs_comp_dev() argument
192 complete(&dev->comp); in ib_uverbs_comp_dev()
216 put_device(&file->device->dev); in ib_uverbs_release_file()
895 struct ib_uverbs_device *dev; in ib_uverbs_open() local
902 dev = container_of(inode->i_cdev, struct ib_uverbs_device, cdev); in ib_uverbs_open()
903 if (!refcount_inc_not_zero(&dev->refcount)) in ib_uverbs_open()
906 get_device(&dev->dev); in ib_uverbs_open()
907 srcu_key = srcu_read_lock(&dev->disassociate_srcu); in ib_uverbs_open()
908 mutex_lock(&dev->lists_mutex); in ib_uverbs_open()
909 ib_dev = srcu_dereference(dev->ib_dev, in ib_uverbs_open()
910 &dev->disassociate_srcu); in ib_uverbs_open()
942 file->device = dev; in ib_uverbs_open()
953 list_add_tail(&file->list, &dev->uverbs_file_list); in ib_uverbs_open()
954 mutex_unlock(&dev->lists_mutex); in ib_uverbs_open()
955 srcu_read_unlock(&dev->disassociate_srcu, srcu_key); in ib_uverbs_open()
965 mutex_unlock(&dev->lists_mutex); in ib_uverbs_open()
966 srcu_read_unlock(&dev->disassociate_srcu, srcu_key); in ib_uverbs_open()
967 if (refcount_dec_and_test(&dev->refcount)) in ib_uverbs_open()
968 ib_uverbs_comp_dev(dev); in ib_uverbs_open()
970 put_device(&dev->dev); in ib_uverbs_open()
1020 res->cdev = &uverbs_dev->dev; in ib_uverbs_get_nl_info()
1049 struct ib_uverbs_device *dev = in ibdev_show() local
1050 container_of(device, struct ib_uverbs_device, dev); in ibdev_show()
1055 srcu_key = srcu_read_lock(&dev->disassociate_srcu); in ibdev_show()
1056 ib_dev = srcu_dereference(dev->ib_dev, &dev->disassociate_srcu); in ibdev_show()
1058 ret = sysfs_emit(buf, "%s\n", dev_name(&ib_dev->dev)); in ibdev_show()
1059 srcu_read_unlock(&dev->disassociate_srcu, srcu_key); in ibdev_show()
1068 struct ib_uverbs_device *dev = in abi_version_show() local
1069 container_of(device, struct ib_uverbs_device, dev); in abi_version_show()
1074 srcu_key = srcu_read_lock(&dev->disassociate_srcu); in abi_version_show()
1075 ib_dev = srcu_dereference(dev->ib_dev, &dev->disassociate_srcu); in abi_version_show()
1078 srcu_read_unlock(&dev->disassociate_srcu, srcu_key); in abi_version_show()
1130 device_initialize(&uverbs_dev->dev); in ib_uverbs_add_one()
1131 uverbs_dev->dev.class = &uverbs_class; in ib_uverbs_add_one()
1132 uverbs_dev->dev.parent = device->dev.parent; in ib_uverbs_add_one()
1133 uverbs_dev->dev.release = ib_uverbs_release_dev; in ib_uverbs_add_one()
1135 uverbs_dev->dev.groups = uverbs_dev->groups; in ib_uverbs_add_one()
1161 uverbs_dev->dev.devt = base; in ib_uverbs_add_one()
1162 dev_set_name(&uverbs_dev->dev, "uverbs%d", uverbs_dev->devnum); in ib_uverbs_add_one()
1168 ret = cdev_device_add(&uverbs_dev->cdev, &uverbs_dev->dev); in ib_uverbs_add_one()
1181 put_device(&uverbs_dev->dev); in ib_uverbs_add_one()
1222 cdev_device_del(&uverbs_dev->cdev, &uverbs_dev->dev); in ib_uverbs_remove_one()
1246 put_device(&uverbs_dev->dev); in ib_uverbs_remove_one()