Lines Matching defs:bcd
286 struct bsg_class_device *bcd;
292 bcd = idr_find(&bsg_minor_idr, iminor(inode));
294 if (!bcd) {
299 bd = __bsg_get_device(iminor(inode), bcd->queue);
301 bd = bsg_add_device(inode, bcd->queue, file);
397 struct bsg_class_device *bcd = &q->bsg_dev;
399 if (!bcd->class_dev)
403 idr_remove(&bsg_minor_idr, bcd->minor);
406 device_unregister(bcd->class_dev);
407 bcd->class_dev = NULL;
415 struct bsg_class_device *bcd;
426 bcd = &q->bsg_dev;
427 memset(bcd, 0, sizeof(*bcd));
431 ret = idr_alloc(&bsg_minor_idr, bcd, 0, BSG_MAX_DEVS, GFP_KERNEL);
440 bcd->minor = ret;
441 bcd->queue = q;
442 bcd->ops = ops;
443 dev = MKDEV(bsg_major, bcd->minor);
449 bcd->class_dev = class_dev;
452 ret = sysfs_create_link(&q->kobj, &bcd->class_dev->kobj, "bsg");
463 idr_remove(&bsg_minor_idr, bcd->minor);