aboutsummaryrefslogtreecommitdiff
path: root/block/bsg-lib.c
diff options
context:
space:
mode:
authorChristoph Hellwig2017-08-25 17:37:38 +0200
committerMartin K. Petersen2017-08-29 21:51:43 -0400
commitc1225f01af085aea9c9d094febf157de9d07d861 (patch)
treea18446f394591470e3e296eafc72cd444be7fe5a /block/bsg-lib.c
parentccf1e0045eea8f98d60fc9327bcb14c958d2e4c7 (diff)
scsi: bsg-lib: pass the release callback through bsg_setup_queue
The SAS code will need it. Also mark the name argument const to match bsg_register_queue. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'block/bsg-lib.c')
-rw-r--r--block/bsg-lib.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/block/bsg-lib.c b/block/bsg-lib.c
index c4513b23f57a..4752dbc3dc49 100644
--- a/block/bsg-lib.c
+++ b/block/bsg-lib.c
@@ -226,8 +226,9 @@ static void bsg_request_fn(struct request_queue *q)
* @job_fn: bsg job handler
* @dd_job_size: size of LLD data needed for each job
*/
-struct request_queue *bsg_setup_queue(struct device *dev, char *name,
- bsg_job_fn *job_fn, int dd_job_size)
+struct request_queue *bsg_setup_queue(struct device *dev, const char *name,
+ bsg_job_fn *job_fn, int dd_job_size,
+ void (*release)(struct device *))
{
struct request_queue *q;
int ret;
@@ -250,7 +251,7 @@ struct request_queue *bsg_setup_queue(struct device *dev, char *name,
blk_queue_softirq_done(q, bsg_softirq_done);
blk_queue_rq_timeout(q, BLK_DEFAULT_SG_TIMEOUT);
- ret = bsg_register_queue(q, dev, name, NULL);
+ ret = bsg_register_queue(q, dev, name, release);
if (ret) {
printk(KERN_ERR "%s: bsg interface failed to "
"initialize - register queue\n", dev->kobj.name);