n64: store dev instance into disk private data
authorChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Mon, 25 Jan 2021 23:32:43 +0000 (15:32 -0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Sun, 21 Feb 2021 22:37:52 +0000 (23:37 +0100)
The device instance is declared globally. Remove global variable & use
the disk->private_data to store the device instance in the
n64cart_probe() and get the same instance from bio->bi_disk->private
data in n64cart_submit_bio.

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
drivers/block/n64cart.c

index 43482d1..47bdf32 100644 (file)
@@ -30,7 +30,6 @@ enum {
 #define MIN_ALIGNMENT          8
 
 static u32 __iomem *reg_base;
-static struct device *dev;
 
 static unsigned int start;
 module_param(start, uint, 0);
@@ -89,6 +88,7 @@ static blk_qc_t n64cart_submit_bio(struct bio *bio)
 {
        struct bio_vec bvec;
        struct bvec_iter iter;
+       struct device *dev = bio->bi_disk->private_data;
        u32 pos = bio->bi_iter.bi_sector << SECTOR_SHIFT;
 
        bio_for_each_segment(bvec, bio, iter) {
@@ -140,11 +140,10 @@ static int __init n64cart_probe(struct platform_device *pdev)
        if (!disk->queue)
                return -ENOMEM;
 
-       dev = &pdev->dev;
-
        disk->first_minor = 0;
        disk->flags = GENHD_FL_NO_PART_SCAN | GENHD_FL_EXT_DEVT;
        disk->fops = &n64cart_fops;
+       disk->private_data = &pdev->dev;
        strcpy(disk->disk_name, "n64cart");
 
        set_capacity(disk, size >> SECTOR_SHIFT);