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 <h...@lst.de>
---
 drivers/block/pktcdvd.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index bd3556585122..f69b5c69c2a6 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -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);
-- 
2.30.2

Reply via email to