Skip to content

Commit d48777a

Browse files
Christoph Hellwigaxboe
authored andcommitted
scsi: remove __scsi_alloc_queue
Instead do an internal export of __scsi_init_queue for the transport classes that export BSG nodes. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Jens Axboe <axboe@fb.com>
1 parent eeff68c commit d48777a

File tree

5 files changed

+12
-20
lines changed

5 files changed

+12
-20
lines changed

drivers/scsi/scsi_lib.c

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2082,7 +2082,7 @@ static u64 scsi_calculate_bounce_limit(struct Scsi_Host *shost)
20822082
return bounce_limit;
20832083
}
20842084

2085-
static void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q)
2085+
void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q)
20862086
{
20872087
struct device *dev = shost->dma_dev;
20882088

@@ -2117,28 +2117,17 @@ static void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q)
21172117
*/
21182118
blk_queue_dma_alignment(q, 0x03);
21192119
}
2120-
2121-
struct request_queue *__scsi_alloc_queue(struct Scsi_Host *shost,
2122-
request_fn_proc *request_fn)
2123-
{
2124-
struct request_queue *q;
2125-
2126-
q = blk_init_queue(request_fn, NULL);
2127-
if (!q)
2128-
return NULL;
2129-
__scsi_init_queue(shost, q);
2130-
return q;
2131-
}
2132-
EXPORT_SYMBOL(__scsi_alloc_queue);
2120+
EXPORT_SYMBOL_GPL(__scsi_init_queue);
21332121

21342122
struct request_queue *scsi_alloc_queue(struct scsi_device *sdev)
21352123
{
21362124
struct request_queue *q;
21372125

2138-
q = __scsi_alloc_queue(sdev->host, scsi_request_fn);
2126+
q = blk_init_queue(scsi_request_fn, NULL);
21392127
if (!q)
21402128
return NULL;
21412129

2130+
__scsi_init_queue(sdev->host, q);
21422131
blk_queue_prep_rq(q, scsi_prep_fn);
21432132
blk_queue_unprep_rq(q, scsi_unprep_fn);
21442133
blk_queue_softirq_done(q, scsi_softirq_done);

drivers/scsi/scsi_transport_fc.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3776,14 +3776,15 @@ fc_bsg_hostadd(struct Scsi_Host *shost, struct fc_host_attrs *fc_host)
37763776
snprintf(bsg_name, sizeof(bsg_name),
37773777
"fc_host%d", shost->host_no);
37783778

3779-
q = __scsi_alloc_queue(shost, bsg_request_fn);
3779+
q = blk_init_queue(bsg_request_fn, NULL);
37803780
if (!q) {
37813781
dev_err(dev,
37823782
"fc_host%d: bsg interface failed to initialize - no request queue\n",
37833783
shost->host_no);
37843784
return -ENOMEM;
37853785
}
37863786

3787+
__scsi_init_queue(shost, q);
37873788
err = bsg_setup_queue(dev, q, bsg_name, fc_bsg_dispatch,
37883789
i->f->dd_bsg_size);
37893790
if (err) {
@@ -3831,12 +3832,13 @@ fc_bsg_rportadd(struct Scsi_Host *shost, struct fc_rport *rport)
38313832
if (!i->f->bsg_request)
38323833
return -ENOTSUPP;
38333834

3834-
q = __scsi_alloc_queue(shost, bsg_request_fn);
3835+
q = blk_init_queue(bsg_request_fn, NULL);
38353836
if (!q) {
38363837
dev_err(dev, "bsg interface failed to initialize - no request queue\n");
38373838
return -ENOMEM;
38383839
}
38393840

3841+
__scsi_init_queue(shost, q);
38403842
err = bsg_setup_queue(dev, q, NULL, fc_bsg_dispatch, i->f->dd_bsg_size);
38413843
if (err) {
38423844
dev_err(dev, "failed to setup bsg queue\n");

drivers/scsi/scsi_transport_iscsi.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1544,10 +1544,11 @@ iscsi_bsg_host_add(struct Scsi_Host *shost, struct iscsi_cls_host *ihost)
15441544

15451545
snprintf(bsg_name, sizeof(bsg_name), "iscsi_host%d", shost->host_no);
15461546

1547-
q = __scsi_alloc_queue(shost, bsg_request_fn);
1547+
q = blk_init_queue(bsg_request_fn, NULL);
15481548
if (!q)
15491549
return -ENOMEM;
15501550

1551+
__scsi_init_queue(shost, q);
15511552
ret = bsg_setup_queue(dev, q, bsg_name, iscsi_bsg_host_dispatch, 0);
15521553
if (ret) {
15531554
shost_printk(KERN_ERR, shost, "bsg interface failed to "

include/scsi/scsi_host.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -826,8 +826,6 @@ extern void scsi_block_requests(struct Scsi_Host *);
826826

827827
struct class_container;
828828

829-
extern struct request_queue *__scsi_alloc_queue(struct Scsi_Host *shost,
830-
void (*) (struct request_queue *));
831829
/*
832830
* These two functions are used to allocate and free a pseudo device
833831
* which will connect to the host adapter itself rather than any

include/scsi/scsi_transport.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,6 @@ scsi_transport_device_data(struct scsi_device *sdev)
119119
+ shost->transportt->device_private_offset;
120120
}
121121

122+
void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q);
123+
122124
#endif /* SCSI_TRANSPORT_H */

0 commit comments

Comments
 (0)