mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-11 23:03:55 +08:00
ms_block: use blk_mq_alloc_disk
Use the blk_mq_alloc_disk API to simplify the gendisk and request_queue allocation. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Link: https://lore.kernel.org/r/20210602065345.355274-8-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
c684b57796
commit
f368b7d7fa
@ -2110,21 +2110,17 @@ static int msb_init_disk(struct memstick_dev *card)
|
||||
if (msb->disk_id < 0)
|
||||
return msb->disk_id;
|
||||
|
||||
msb->disk = alloc_disk(0);
|
||||
if (!msb->disk) {
|
||||
rc = -ENOMEM;
|
||||
rc = blk_mq_alloc_sq_tag_set(&msb->tag_set, &msb_mq_ops, 2,
|
||||
BLK_MQ_F_SHOULD_MERGE);
|
||||
if (rc)
|
||||
goto out_release_id;
|
||||
}
|
||||
|
||||
msb->queue = blk_mq_init_sq_queue(&msb->tag_set, &msb_mq_ops, 2,
|
||||
BLK_MQ_F_SHOULD_MERGE);
|
||||
if (IS_ERR(msb->queue)) {
|
||||
rc = PTR_ERR(msb->queue);
|
||||
msb->queue = NULL;
|
||||
goto out_put_disk;
|
||||
msb->disk = blk_mq_alloc_disk(&msb->tag_set, card);
|
||||
if (IS_ERR(msb->disk)) {
|
||||
rc = PTR_ERR(msb->disk);
|
||||
goto out_free_tag_set;
|
||||
}
|
||||
|
||||
msb->queue->queuedata = card;
|
||||
msb->queue = msb->disk->queue;
|
||||
|
||||
blk_queue_max_hw_sectors(msb->queue, MS_BLOCK_MAX_PAGES);
|
||||
blk_queue_max_segments(msb->queue, MS_BLOCK_MAX_SEGS);
|
||||
@ -2135,7 +2131,6 @@ static int msb_init_disk(struct memstick_dev *card)
|
||||
sprintf(msb->disk->disk_name, "msblk%d", msb->disk_id);
|
||||
msb->disk->fops = &msb_bdops;
|
||||
msb->disk->private_data = msb;
|
||||
msb->disk->queue = msb->queue;
|
||||
|
||||
capacity = msb->pages_in_block * msb->logical_block_count;
|
||||
capacity *= (msb->page_size / 512);
|
||||
@ -2155,8 +2150,8 @@ static int msb_init_disk(struct memstick_dev *card)
|
||||
dbg("Disk added");
|
||||
return 0;
|
||||
|
||||
out_put_disk:
|
||||
put_disk(msb->disk);
|
||||
out_free_tag_set:
|
||||
blk_mq_free_tag_set(&msb->tag_set);
|
||||
out_release_id:
|
||||
mutex_lock(&msb_disk_lock);
|
||||
idr_remove(&msb_disk_idr, msb->disk_id);
|
||||
|
Loading…
Reference in New Issue
Block a user