]> www.infradead.org Git - users/hch/block.git/commitdiff
gdrom: use blk_cleanup_disk
authorChristoph Hellwig <hch@lst.de>
Tue, 15 Jun 2021 09:42:11 +0000 (11:42 +0200)
committerChristoph Hellwig <hch@lst.de>
Sun, 8 Aug 2021 07:31:02 +0000 (09:31 +0200)
Use blk_cleanup_disk instead of open coding it and remove the global
request_queue pointer.

Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/cdrom/gdrom.c

index 8e1fe75af93f850277efb298982ba6146a20becb..1972143f7cb901140000e25678207379cb559d7c 100644 (file)
@@ -101,7 +101,6 @@ static struct gdrom_unit {
        int transfer;
        char disk_type;
        struct gdromtoc *toc;
-       struct request_queue *gdrom_rq;
        struct blk_mq_tag_set tag_set;
 } gd;
 
@@ -724,12 +723,11 @@ static void probe_gdrom_setupdisk(void)
 
 static int probe_gdrom_setupqueue(void)
 {
-       blk_queue_logical_block_size(gd.gdrom_rq, GDROM_HARD_SECTOR);
+       blk_queue_logical_block_size(gd.disk->queue, GDROM_HARD_SECTOR);
        /* using DMA so memory will need to be contiguous */
-       blk_queue_max_segments(gd.gdrom_rq, 1);
+       blk_queue_max_segments(gd.disk->queue, 1);
        /* set a large max size to get most from DMA */
-       blk_queue_max_segment_size(gd.gdrom_rq, 0x40000);
-       gd.disk->queue = gd.gdrom_rq;
+       blk_queue_max_segment_size(gd.disk->queue, 0x40000);
        return gdrom_init_dma_mode();
 }
 
@@ -783,7 +781,6 @@ static int probe_gdrom(struct platform_device *devptr)
                err = PTR_ERR(gd.disk);
                goto probe_fail_free_tag_set;
        }
-       gd.gdrom_rq = gd.disk->queue;
        probe_gdrom_setupdisk();
        if (register_cdrom(gd.disk, gd.cd_info)) {
                err = -ENODEV;
@@ -826,7 +823,6 @@ probe_fail_no_mem:
 
 static int remove_gdrom(struct platform_device *devptr)
 {
-       blk_cleanup_queue(gd.gdrom_rq);
        blk_mq_free_tag_set(&gd.tag_set);
        free_irq(HW_EVENT_GDROM_CMD, &gd);
        free_irq(HW_EVENT_GDROM_DMA, &gd);
@@ -834,6 +830,7 @@ static int remove_gdrom(struct platform_device *devptr)
        if (gdrom_major)
                unregister_blkdev(gdrom_major, GDROM_DEV_NAME);
        unregister_cdrom(gd.cd_info);
+       blk_cleanup_disk(gd.disk);
        kfree(gd.cd_info);
        kfree(gd.toc);