Skip to content

Commit

Permalink
nfblock: convert to blk_alloc_disk/blk_cleanup_disk
Browse files Browse the repository at this point in the history
Convert the nfblock driver to use the blk_alloc_disk and blk_cleanup_disk
helpers to simplify gendisk and request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20210521055116.1053587-20-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
Christoph Hellwig authored and axboe committed Jun 1, 2021
1 parent f165fb8 commit c3e2353
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions arch/m68k/emu/nfblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ struct nfhd_device {
int id;
u32 blocks, bsize;
int bshift;
struct request_queue *queue;
struct gendisk *disk;
};

Expand Down Expand Up @@ -119,32 +118,24 @@ static int __init nfhd_init_one(int id, u32 blocks, u32 bsize)
dev->bsize = bsize;
dev->bshift = ffs(bsize) - 10;

dev->queue = blk_alloc_queue(NUMA_NO_NODE);
if (dev->queue == NULL)
goto free_dev;

blk_queue_logical_block_size(dev->queue, bsize);

dev->disk = alloc_disk(16);
dev->disk = blk_alloc_disk(NUMA_NO_NODE);
if (!dev->disk)
goto free_queue;
goto free_dev;

dev->disk->major = major_num;
dev->disk->first_minor = dev_id * 16;
dev->disk->minors = 16;
dev->disk->fops = &nfhd_ops;
dev->disk->private_data = dev;
sprintf(dev->disk->disk_name, "nfhd%u", dev_id);
set_capacity(dev->disk, (sector_t)blocks * (bsize / 512));
dev->disk->queue = dev->queue;

blk_queue_logical_block_size(dev->disk->queue, bsize);
add_disk(dev->disk);

list_add_tail(&dev->list, &nfhd_list);

return 0;

free_queue:
blk_cleanup_queue(dev->queue);
free_dev:
kfree(dev);
out:
Expand Down Expand Up @@ -186,8 +177,7 @@ static void __exit nfhd_exit(void)
list_for_each_entry_safe(dev, next, &nfhd_list, list) {
list_del(&dev->list);
del_gendisk(dev->disk);
put_disk(dev->disk);
blk_cleanup_queue(dev->queue);
blk_cleanup_disk(dev->disk);
kfree(dev);
}
unregister_blkdev(major_num, "nfhd");
Expand Down

0 comments on commit c3e2353

Please sign in to comment.