Lines Matching refs:ucm_dev
1202 struct ib_ucm_device *ucm_dev; in ib_ucm_release_dev() local
1204 ucm_dev = container_of(dev, struct ib_ucm_device, dev); in ib_ucm_release_dev()
1205 cdev_del(&ucm_dev->cdev); in ib_ucm_release_dev()
1206 if (ucm_dev->devnum < IB_UCM_MAX_DEVICES) in ib_ucm_release_dev()
1207 clear_bit(ucm_dev->devnum, dev_map); in ib_ucm_release_dev()
1209 clear_bit(ucm_dev->devnum - IB_UCM_MAX_DEVICES, overflow_map); in ib_ucm_release_dev()
1210 kfree(ucm_dev); in ib_ucm_release_dev()
1225 struct ib_ucm_device *ucm_dev; in show_ibdev() local
1227 ucm_dev = container_of(dev, struct ib_ucm_device, dev); in show_ibdev()
1228 return sprintf(buf, "%s\n", ucm_dev->ib_dev->name); in show_ibdev()
1257 struct ib_ucm_device *ucm_dev; in ib_ucm_add_one() local
1262 ucm_dev = kzalloc(sizeof *ucm_dev, GFP_KERNEL); in ib_ucm_add_one()
1263 if (!ucm_dev) in ib_ucm_add_one()
1266 ucm_dev->ib_dev = device; in ib_ucm_add_one()
1274 ucm_dev->devnum = devnum + IB_UCM_MAX_DEVICES; in ib_ucm_add_one()
1278 ucm_dev->devnum = devnum; in ib_ucm_add_one()
1283 cdev_init(&ucm_dev->cdev, &ucm_fops); in ib_ucm_add_one()
1284 ucm_dev->cdev.owner = THIS_MODULE; in ib_ucm_add_one()
1285 kobject_set_name(&ucm_dev->cdev.kobj, "ucm%d", ucm_dev->devnum); in ib_ucm_add_one()
1286 if (cdev_add(&ucm_dev->cdev, base, 1)) in ib_ucm_add_one()
1289 ucm_dev->dev.class = &cm_class; in ib_ucm_add_one()
1290 ucm_dev->dev.parent = device->dma_device; in ib_ucm_add_one()
1291 ucm_dev->dev.devt = ucm_dev->cdev.dev; in ib_ucm_add_one()
1292 ucm_dev->dev.release = ib_ucm_release_dev; in ib_ucm_add_one()
1293 dev_set_name(&ucm_dev->dev, "ucm%d", ucm_dev->devnum); in ib_ucm_add_one()
1294 if (device_register(&ucm_dev->dev)) in ib_ucm_add_one()
1297 if (device_create_file(&ucm_dev->dev, &dev_attr_ibdev)) in ib_ucm_add_one()
1300 ib_set_client_data(device, &ucm_client, ucm_dev); in ib_ucm_add_one()
1304 device_unregister(&ucm_dev->dev); in ib_ucm_add_one()
1306 cdev_del(&ucm_dev->cdev); in ib_ucm_add_one()
1307 if (ucm_dev->devnum < IB_UCM_MAX_DEVICES) in ib_ucm_add_one()
1312 kfree(ucm_dev); in ib_ucm_add_one()
1318 struct ib_ucm_device *ucm_dev = client_data; in ib_ucm_remove_one() local
1320 if (!ucm_dev) in ib_ucm_remove_one()
1323 device_unregister(&ucm_dev->dev); in ib_ucm_remove_one()