forked from mirrors/linux
		
	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>
This commit is contained in:
		
							parent
							
								
									eeff68c561
								
							
						
					
					
						commit
						d48777a633
					
				
					 5 changed files with 12 additions and 20 deletions
				
			
		|  | @ -2082,7 +2082,7 @@ static u64 scsi_calculate_bounce_limit(struct Scsi_Host *shost) | |||
| 	return bounce_limit; | ||||
| } | ||||
| 
 | ||||
| static void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) | ||||
| void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) | ||||
| { | ||||
| 	struct device *dev = shost->dma_dev; | ||||
| 
 | ||||
|  | @ -2117,28 +2117,17 @@ static void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) | |||
| 	 */ | ||||
| 	blk_queue_dma_alignment(q, 0x03); | ||||
| } | ||||
| 
 | ||||
| struct request_queue *__scsi_alloc_queue(struct Scsi_Host *shost, | ||||
| 					 request_fn_proc *request_fn) | ||||
| { | ||||
| 	struct request_queue *q; | ||||
| 
 | ||||
| 	q = blk_init_queue(request_fn, NULL); | ||||
| 	if (!q) | ||||
| 		return NULL; | ||||
| 	__scsi_init_queue(shost, q); | ||||
| 	return q; | ||||
| } | ||||
| EXPORT_SYMBOL(__scsi_alloc_queue); | ||||
| EXPORT_SYMBOL_GPL(__scsi_init_queue); | ||||
| 
 | ||||
| struct request_queue *scsi_alloc_queue(struct scsi_device *sdev) | ||||
| { | ||||
| 	struct request_queue *q; | ||||
| 
 | ||||
| 	q = __scsi_alloc_queue(sdev->host, scsi_request_fn); | ||||
| 	q = blk_init_queue(scsi_request_fn, NULL); | ||||
| 	if (!q) | ||||
| 		return NULL; | ||||
| 
 | ||||
| 	__scsi_init_queue(sdev->host, q); | ||||
| 	blk_queue_prep_rq(q, scsi_prep_fn); | ||||
| 	blk_queue_unprep_rq(q, scsi_unprep_fn); | ||||
| 	blk_queue_softirq_done(q, scsi_softirq_done); | ||||
|  |  | |||
|  | @ -3776,7 +3776,7 @@ fc_bsg_hostadd(struct Scsi_Host *shost, struct fc_host_attrs *fc_host) | |||
| 	snprintf(bsg_name, sizeof(bsg_name), | ||||
| 		 "fc_host%d", shost->host_no); | ||||
| 
 | ||||
| 	q = __scsi_alloc_queue(shost, bsg_request_fn); | ||||
| 	q = blk_init_queue(bsg_request_fn, NULL); | ||||
| 	if (!q) { | ||||
| 		dev_err(dev, | ||||
| 			"fc_host%d: bsg interface failed to initialize - no request queue\n", | ||||
|  | @ -3784,6 +3784,7 @@ fc_bsg_hostadd(struct Scsi_Host *shost, struct fc_host_attrs *fc_host) | |||
| 		return -ENOMEM; | ||||
| 	} | ||||
| 
 | ||||
| 	__scsi_init_queue(shost, q); | ||||
| 	err = bsg_setup_queue(dev, q, bsg_name, fc_bsg_dispatch, | ||||
| 				 i->f->dd_bsg_size); | ||||
| 	if (err) { | ||||
|  | @ -3831,12 +3832,13 @@ fc_bsg_rportadd(struct Scsi_Host *shost, struct fc_rport *rport) | |||
| 	if (!i->f->bsg_request) | ||||
| 		return -ENOTSUPP; | ||||
| 
 | ||||
| 	q = __scsi_alloc_queue(shost, bsg_request_fn); | ||||
| 	q = blk_init_queue(bsg_request_fn, NULL); | ||||
| 	if (!q) { | ||||
| 		dev_err(dev, "bsg interface failed to initialize - no request queue\n"); | ||||
| 		return -ENOMEM; | ||||
| 	} | ||||
| 
 | ||||
| 	__scsi_init_queue(shost, q); | ||||
| 	err = bsg_setup_queue(dev, q, NULL, fc_bsg_dispatch, i->f->dd_bsg_size); | ||||
| 	if (err) { | ||||
| 		dev_err(dev, "failed to setup bsg queue\n"); | ||||
|  |  | |||
|  | @ -1544,10 +1544,11 @@ iscsi_bsg_host_add(struct Scsi_Host *shost, struct iscsi_cls_host *ihost) | |||
| 
 | ||||
| 	snprintf(bsg_name, sizeof(bsg_name), "iscsi_host%d", shost->host_no); | ||||
| 
 | ||||
| 	q = __scsi_alloc_queue(shost, bsg_request_fn); | ||||
| 	q = blk_init_queue(bsg_request_fn, NULL); | ||||
| 	if (!q) | ||||
| 		return -ENOMEM; | ||||
| 
 | ||||
| 	__scsi_init_queue(shost, q); | ||||
| 	ret = bsg_setup_queue(dev, q, bsg_name, iscsi_bsg_host_dispatch, 0); | ||||
| 	if (ret) { | ||||
| 		shost_printk(KERN_ERR, shost, "bsg interface failed to " | ||||
|  |  | |||
|  | @ -826,8 +826,6 @@ extern void scsi_block_requests(struct Scsi_Host *); | |||
| 
 | ||||
| struct class_container; | ||||
| 
 | ||||
| extern struct request_queue *__scsi_alloc_queue(struct Scsi_Host *shost, | ||||
| 						void (*) (struct request_queue *)); | ||||
| /*
 | ||||
|  * These two functions are used to allocate and free a pseudo device | ||||
|  * which will connect to the host adapter itself rather than any | ||||
|  |  | |||
|  | @ -119,4 +119,6 @@ scsi_transport_device_data(struct scsi_device *sdev) | |||
| 		+ shost->transportt->device_private_offset; | ||||
| } | ||||
| 
 | ||||
| void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q); | ||||
| 
 | ||||
| #endif /* SCSI_TRANSPORT_H */ | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig