Lines Matching refs:q
136 static int bsg_sg_io(struct request_queue *q, fmode_t mode, void __user *uarg) in bsg_sg_io() argument
146 if (!q->bsg_dev.class_dev) in bsg_sg_io()
151 ret = q->bsg_dev.ops->check_proto(&hdr); in bsg_sg_io()
155 rq = blk_get_request(q, hdr.dout_xfer_len ? in bsg_sg_io()
160 ret = q->bsg_dev.ops->fill_hdr(rq, &hdr, mode); in bsg_sg_io()
168 rq->timeout = q->sg_timeout; in bsg_sg_io()
175 ret = blk_rq_map_user(q, rq, NULL, uptr64(hdr.dout_xferp), in bsg_sg_io()
178 ret = blk_rq_map_user(q, rq, NULL, uptr64(hdr.din_xferp), in bsg_sg_io()
187 blk_execute_rq(q, NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL)); in bsg_sg_io()
188 ret = rq->q->bsg_dev.ops->complete_rq(rq, &hdr); in bsg_sg_io()
192 rq->q->bsg_dev.ops->free_rq(rq); in bsg_sg_io()
215 struct request_queue *q = bd->queue; in bsg_put_device() local
233 blk_put_queue(q); in bsg_put_device()
267 static struct bsg_device *__bsg_get_device(int minor, struct request_queue *q) in __bsg_get_device() argument
274 if (bd->queue == q) { in __bsg_get_device()
403 void bsg_unregister_queue(struct request_queue *q) in bsg_unregister_queue() argument
405 struct bsg_class_device *bcd = &q->bsg_dev; in bsg_unregister_queue()
412 if (q->kobj.sd) in bsg_unregister_queue()
413 sysfs_remove_link(&q->kobj, "bsg"); in bsg_unregister_queue()
420 int bsg_register_queue(struct request_queue *q, struct device *parent, in bsg_register_queue() argument
431 if (!queue_is_mq(q)) in bsg_register_queue()
434 bcd = &q->bsg_dev; in bsg_register_queue()
449 bcd->queue = q; in bsg_register_queue()
459 if (q->kobj.sd) { in bsg_register_queue()
460 ret = sysfs_create_link(&q->kobj, &bcd->class_dev->kobj, "bsg"); in bsg_register_queue()
477 int bsg_scsi_register_queue(struct request_queue *q, struct device *parent) in bsg_scsi_register_queue() argument
479 if (!blk_queue_scsi_passthrough(q)) { in bsg_scsi_register_queue()
484 return bsg_register_queue(q, parent, dev_name(parent), &bsg_scsi_ops); in bsg_scsi_register_queue()