Lines Matching refs:ucm_dev
1205 struct ib_ucm_device *ucm_dev;
1207 ucm_dev = container_of(dev, struct ib_ucm_device, dev);
1208 cdev_del(&ucm_dev->cdev);
1209 if (ucm_dev->devnum < IB_UCM_MAX_DEVICES)
1210 clear_bit(ucm_dev->devnum, dev_map);
1212 clear_bit(ucm_dev->devnum - IB_UCM_MAX_DEVICES, overflow_map);
1213 kfree(ucm_dev);
1228 struct ib_ucm_device *ucm_dev;
1230 ucm_dev = container_of(dev, struct ib_ucm_device, dev);
1231 return sprintf(buf, "%s\n", ucm_dev->ib_dev->name);
1260 struct ib_ucm_device *ucm_dev;
1265 ucm_dev = kzalloc(sizeof *ucm_dev, GFP_KERNEL);
1266 if (!ucm_dev)
1269 ucm_dev->ib_dev = device;
1277 ucm_dev->devnum = devnum + IB_UCM_MAX_DEVICES;
1281 ucm_dev->devnum = devnum;
1286 cdev_init(&ucm_dev->cdev, &ucm_fops);
1287 ucm_dev->cdev.owner = THIS_MODULE;
1288 kobject_set_name(&ucm_dev->cdev.kobj, "ucm%d", ucm_dev->devnum);
1289 if (cdev_add(&ucm_dev->cdev, base, 1))
1292 ucm_dev->dev.class = &cm_class;
1293 ucm_dev->dev.parent = device->dma_device;
1294 ucm_dev->dev.devt = ucm_dev->cdev.dev;
1295 ucm_dev->dev.release = ib_ucm_release_dev;
1296 dev_set_name(&ucm_dev->dev, "ucm%d", ucm_dev->devnum);
1297 if (device_register(&ucm_dev->dev))
1300 if (device_create_file(&ucm_dev->dev, &dev_attr_ibdev))
1303 ib_set_client_data(device, &ucm_client, ucm_dev);
1307 device_unregister(&ucm_dev->dev);
1309 cdev_del(&ucm_dev->cdev);
1310 if (ucm_dev->devnum < IB_UCM_MAX_DEVICES)
1315 kfree(ucm_dev);
1321 struct ib_ucm_device *ucm_dev = client_data;
1323 if (!ucm_dev)
1326 device_unregister(&ucm_dev->dev);