swim: don't call blk_register_region
authorChristoph Hellwig <hch@lst.de>
Thu, 29 Oct 2020 14:58:30 +0000 (15:58 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 16 Nov 2020 15:14:30 +0000 (08:14 -0700)
The swim driver (unlike various other floppy drivers) doesn't have
magic device nodes for certain modes, and already registers a gendisk
for each of the floppies supported by a device.  Thus the region
registered is a no-op and can be removed.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/swim.c

index 52dd1ef..cc6a0bc 100644 (file)
@@ -745,18 +745,6 @@ static const struct block_device_operations floppy_fops = {
        .check_events    = floppy_check_events,
 };
 
-static struct kobject *floppy_find(dev_t dev, int *part, void *data)
-{
-       struct swim_priv *swd = data;
-       int drive = (*part & 3);
-
-       if (drive >= swd->floppy_count)
-               return NULL;
-
-       *part = 0;
-       return get_disk_and_module(swd->unit[drive].disk);
-}
-
 static int swim_add_floppy(struct swim_priv *swd, enum drive_location location)
 {
        struct floppy_state *fs = &swd->unit[swd->floppy_count];
@@ -846,9 +834,6 @@ static int swim_floppy_init(struct swim_priv *swd)
                add_disk(swd->unit[drive].disk);
        }
 
-       blk_register_region(MKDEV(FLOPPY_MAJOR, 0), 256, THIS_MODULE,
-                           floppy_find, NULL, swd);
-
        return 0;
 
 exit_put_disks:
@@ -932,8 +917,6 @@ static int swim_remove(struct platform_device *dev)
        int drive;
        struct resource *res;
 
-       blk_unregister_region(MKDEV(FLOPPY_MAJOR, 0), 256);
-
        for (drive = 0; drive < swd->floppy_count; drive++) {
                del_gendisk(swd->unit[drive].disk);
                blk_cleanup_queue(swd->unit[drive].disk->queue);