Lines Matching refs:bcd
712 struct bsg_class_device *bcd =
714 struct device *parent = bcd->parent;
716 if (bcd->release)
717 bcd->release(bcd->parent);
817 struct bsg_class_device *bcd;
823 bcd = idr_find(&bsg_minor_idr, iminor(inode));
824 if (bcd)
825 kref_get(&bcd->ref);
828 if (!bcd)
831 bd = __bsg_get_device(iminor(inode), bcd->queue);
835 bd = bsg_add_device(inode, bcd->queue, file);
837 kref_put(&bcd->ref, bsg_kref_release_function);
971 struct bsg_class_device *bcd = &q->bsg_dev;
973 if (!bcd->class_dev)
977 idr_remove(&bsg_minor_idr, bcd->minor);
979 device_unregister(bcd->class_dev);
980 bcd->class_dev = NULL;
981 kref_put(&bcd->ref, bsg_kref_release_function);
989 struct bsg_class_device *bcd;
1006 bcd = &q->bsg_dev;
1007 memset(bcd, 0, sizeof(*bcd));
1017 ret = idr_get_new(&bsg_minor_idr, bcd, &minor);
1027 bcd->minor = minor;
1028 bcd->queue = q;
1029 bcd->parent = get_device(parent);
1030 bcd->release = release;
1031 kref_init(&bcd->ref);
1032 dev = MKDEV(bsg_major, bcd->minor);
1038 bcd->class_dev = class_dev;
1041 ret = sysfs_create_link(&q->kobj, &bcd->class_dev->kobj, "bsg");