OSDN Git Service

pktcdvd: convert to blk_alloc_disk/blk_cleanup_disk
authorChristoph Hellwig <hch@lst.de>
Fri, 21 May 2021 05:50:58 +0000 (07:50 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 1 Jun 2021 13:42:23 +0000 (07:42 -0600)
Convert the pktcdvd 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>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20210521055116.1053587-9-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/pktcdvd.c

index bd35565..f69b5c6 100644 (file)
@@ -2711,19 +2711,17 @@ static int pkt_setup_dev(dev_t dev, dev_t* pkt_dev)
        pd->write_congestion_off = write_congestion_off;
 
        ret = -ENOMEM;
-       disk = alloc_disk(1);
+       disk = blk_alloc_disk(NUMA_NO_NODE);
        if (!disk)
                goto out_mem;
        pd->disk = disk;
        disk->major = pktdev_major;
        disk->first_minor = idx;
+       disk->minors = 1;
        disk->fops = &pktcdvd_ops;
        disk->flags = GENHD_FL_REMOVABLE;
        strcpy(disk->disk_name, pd->name);
        disk->private_data = pd;
-       disk->queue = blk_alloc_queue(NUMA_NO_NODE);
-       if (!disk->queue)
-               goto out_mem2;
 
        pd->pkt_dev = MKDEV(pktdev_major, idx);
        ret = pkt_new_dev(pd, dev);
@@ -2746,7 +2744,7 @@ static int pkt_setup_dev(dev_t dev, dev_t* pkt_dev)
        return 0;
 
 out_mem2:
-       put_disk(disk);
+       blk_cleanup_disk(disk);
 out_mem:
        mempool_exit(&pd->rb_pool);
        kfree(pd);
@@ -2796,8 +2794,7 @@ static int pkt_remove_dev(dev_t pkt_dev)
        pkt_dbg(1, pd, "writer unmapped\n");
 
        del_gendisk(pd->disk);
-       blk_cleanup_queue(pd->disk->queue);
-       put_disk(pd->disk);
+       blk_cleanup_disk(pd->disk);
 
        mempool_exit(&pd->rb_pool);
        kfree(pd);