Lines Matching refs:bcd

287 	struct bsg_class_device *bcd;  in bsg_get_device()  local
293 bcd = idr_find(&bsg_minor_idr, iminor(inode)); in bsg_get_device()
295 if (!bcd) { in bsg_get_device()
300 bd = __bsg_get_device(iminor(inode), bcd->queue); in bsg_get_device()
302 bd = bsg_add_device(inode, bcd->queue, file); in bsg_get_device()
312 struct bsg_class_device *bcd; in bsg_open() local
319 bcd = &bd->queue->bsg_dev; in bsg_open()
320 pm_runtime_get_sync(bcd->class_dev->parent); in bsg_open()
328 struct bsg_class_device *bcd; in bsg_release() local
332 bcd = &bd->queue->bsg_dev; in bsg_release()
333 pm_runtime_put_sync(bcd->class_dev->parent); in bsg_release()
405 struct bsg_class_device *bcd = &q->bsg_dev; in bsg_unregister_queue() local
407 if (!bcd->class_dev) in bsg_unregister_queue()
411 idr_remove(&bsg_minor_idr, bcd->minor); in bsg_unregister_queue()
414 device_unregister(bcd->class_dev); in bsg_unregister_queue()
415 bcd->class_dev = NULL; in bsg_unregister_queue()
423 struct bsg_class_device *bcd; in bsg_register_queue() local
434 bcd = &q->bsg_dev; in bsg_register_queue()
435 memset(bcd, 0, sizeof(*bcd)); in bsg_register_queue()
439 ret = idr_alloc(&bsg_minor_idr, bcd, 0, BSG_MAX_DEVS, GFP_KERNEL); in bsg_register_queue()
448 bcd->minor = ret; in bsg_register_queue()
449 bcd->queue = q; in bsg_register_queue()
450 bcd->ops = ops; in bsg_register_queue()
451 dev = MKDEV(bsg_major, bcd->minor); in bsg_register_queue()
457 bcd->class_dev = class_dev; in bsg_register_queue()
460 ret = sysfs_create_link(&q->kobj, &bcd->class_dev->kobj, "bsg"); in bsg_register_queue()
471 idr_remove(&bsg_minor_idr, bcd->minor); in bsg_register_queue()