From ec4258f98c8a3b0f78e1727b644b2e1a78c5c71f Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Sat, 21 Sep 2002 02:52:06 -0700 Subject: [PATCH] [PATCH] gendisk for swim_iop swim_iop switched to use of gendisk --- drivers/block/swim_iop.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/block/swim_iop.c b/drivers/block/swim_iop.c index 927bcf6e041a..77a7af3b54a1 100644 --- a/drivers/block/swim_iop.c +++ b/drivers/block/swim_iop.c @@ -83,7 +83,8 @@ static int floppy_count; static struct floppy_state floppy_states[MAX_FLOPPIES]; -static int floppy_sizes[2] = {2880,2880}; +static struct gendisk disks[2]; +static char names[2][4]; static spinlock_t swim_iop_lock = SPIN_LOCK_UNLOCKED; @@ -152,8 +153,6 @@ int swimiop_init(void) } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), do_fd_request, &swim_iop_lock); - blk_size[MAJOR_NR] = floppy_sizes; - printk("SWIM-IOP: %s by Joshua M. Thompson (funaho@jurai.org)\n", DRIVER_VERSION); @@ -193,6 +192,16 @@ int swimiop_init(void) printk("SWIM-IOP: detected %d installed drives.\n", floppy_count); do_floppy = NULL; + for (i = 0; i < floppy_count; i++) { + struct gendisk *disk = disks + i; + disk->major = MAJOR_NR; + disk->first_minor = i; + disk->fops = &floppy_fops; + sprintf(names[i], "fd%d", i); + disk->major_name = names[i]; + set_capacity(disk, 2880 * 2); + add_disk(disk); + } return 0; } -- 2.39.5