]> git.hungrycats.org Git - linux/commitdiff
[PATCH] switch to add_disk()
authorAlexander Viro <viro@math.psu.edu>
Sat, 21 Sep 2002 09:43:02 +0000 (02:43 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sat, 21 Sep 2002 09:43:02 +0000 (02:43 -0700)
Almost all callers of add_gendisk() were immediately followed by
register_disk(disk, mk_kdev(disk->major,disk->first_minor),
      1<<disk->minor_shift, disk->fops, something);
The only exception (DAC960.c) massaged to that form.
New helper (add_disk(disk)) introduced and aforementioned sequence
replaced with
set_capacity(disk, something);
add_disk(disk);

31 files changed:
drivers/acorn/block/mfmhd.c
drivers/block/DAC960.c
drivers/block/acsi.c
drivers/block/cciss.c
drivers/block/cpqarray.c
drivers/block/genhd.c
drivers/block/paride/pcd.c
drivers/block/paride/pd.c
drivers/block/paride/pf.c
drivers/block/ps2esdi.c
drivers/block/umem.c
drivers/block/xd.c
drivers/cdrom/cdu31a.c
drivers/cdrom/cm206.c
drivers/cdrom/mcd.c
drivers/cdrom/mcdx.c
drivers/cdrom/sbpcd.c
drivers/ide/ide-cd.c
drivers/ide/ide-disk.c
drivers/ide/ide-floppy.c
drivers/ide/legacy/hd.c
drivers/md/md.c
drivers/message/i2o/i2o_block.c
drivers/mtd/ftl.c
drivers/mtd/mtdblock_ro.c
drivers/mtd/nftlcore.c
drivers/s390/block/dasd_genhd.c
drivers/sbus/char/jsflash.c
drivers/scsi/sd.c
drivers/scsi/sr.c
include/linux/genhd.h

index 55df18f1a484440afed4966e2bf44098317729d3..bcb43f358167cb5c45acb56525001754b807b5d7 100644 (file)
@@ -1014,13 +1014,17 @@ static void mfm_interrupt_handler(int unused, void *dev_id, struct pt_regs *regs
 /*
  * Tell the user about the drive if we decided it exists.
  */
-static void mfm_geometry (int drive)
+static void mfm_geometry(int drive)
 {
-       if (mfm_info[drive].cylinders)
-               printk ("mfm%c: %dMB CHS=%d/%d/%d LCC=%d RECOMP=%d\n", 'a' + drive,
-                       mfm_info[drive].cylinders * mfm_info[drive].heads * mfm_info[drive].sectors / 4096,
-                       mfm_info[drive].cylinders, mfm_info[drive].heads, mfm_info[drive].sectors,
-                       mfm_info[drive].lowcurrent, mfm_info[drive].precomp);
+       struct mfm_info *p = mfm_info + drive;
+       struct gendisk *disk = mfm_gendisk + drive;
+       if (p->cylinders)
+               printk ("%s: %dMB CHS=%d/%d/%d LCC=%d RECOMP=%d\n",
+                       disk->major_name,
+                       p->cylinders * p->heads * p->sectors / 4096,
+                       p->cylinders, p->heads, p->sectors,
+                       p->lowcurrent, p->precomp);
+       set_capacity(disk, p->cylinders * p->heads * p->sectors / 2);
 }
 
 #ifdef CONFIG_BLK_DEV_MFM_AUTODETECT
@@ -1241,7 +1245,6 @@ void xd_set_geometry(struct block_device *bdev, unsigned char secsptrack,
                if (raw_cmd.dev == drive)
                        mfm_specify ();
                mfm_geometry (drive);
-               set_capacity(&mfm_gendisk[drive], mfm_info[drive].cylinders * mfm_info[drive].heads * mfm_info[drive].sectors / 2);
        }
 }
 
@@ -1267,12 +1270,8 @@ static void mfm_geninit (void)
                outw(0x80, mfm_irqenable);      /* Required to enable IRQs from MFM podule */
 
        for (i = 0; i < mfm_drives; i++) {
-               add_gendisk(mfm_gendisk + i);
-               mfm_geometry (i);
-               register_disk(mfm_gendisk + i, mk_kdev(MAJOR_NR,i<<6), 1<<6,
-                               &mfm_fops,
-                               mfm_info[i].cylinders * mfm_info[i].heads *
-                               mfm_info[i].sectors / 2);
+               mfm_geometry(i);
+               add_disk(mfm_gendisk + i);
        }
 }
 
index 5b80e71ae5f7840370b89bee3e6135297e05a6d9..23f8d25f9ec2402a4f54b0671f143f42de87efde 100644 (file)
@@ -1973,7 +1973,6 @@ static boolean DAC960_RegisterBlockDevice(DAC960_Controller_T *Controller)
        disk->major_name = names + 9 * n;
        disk->minor_shift = DAC960_MaxPartitionsBits;
        disk->fops = &DAC960_BlockDeviceOperations;
-       add_gendisk(disk);
    }
   /*
     Indicate the Block Device Registration completed successfully,
@@ -2622,10 +2621,8 @@ static int DAC960_Initialize(void)
       if (Controller == NULL) continue;
       DAC960_InitializeController(Controller);
       for (disk = 0; disk < DAC960_MaxLogicalDrives; disk++) {
-       long size = disk_size(Controller, disk);
-       register_disk(&Controller->disks[disk],
-           DAC960_KernelDevice(Controller->ControllerNumber, disk, 0),
-           DAC960_MaxPartitions, &DAC960_BlockDeviceOperations, size);
+       set_capacity(&Controller->disks[disk], disk_size(Controller, disk));
+       add_disk(&Controller->disks[disk]);
       }
     }
   DAC960_CreateProcEntries();
@@ -5268,9 +5265,8 @@ static int DAC960_Open(Inode_T *Inode, File_T *File)
       Controller->LogicalDriveInitiallyAccessible[LogicalDriveNumber] = true;
       size = disk_size(Controller, LogicalDriveNumber);
       /* BROKEN, same as modular ide-floppy/ide-disk; same fix - ->probe() */
-      register_disk(&Controller->disks[LogicalDriveNumber],
-           DAC960_KernelDevice(Controller->ControllerNumber, LogicalDriveNumber, 0),
-           DAC960_MaxPartitions, &DAC960_BlockDeviceOperations, size);
+      set_capacity(&Controller->disks[LogicalDriveNumber], size);
+      add_disk(&Controller->disks[LogicalDriveNumber]);
     }
   if (!get_capacity(&Controller->disks[LogicalDriveNumber]))
     return -ENXIO;
index 3313f7cb0a3c4cc01e4b9fe06e37dd039c317111..194015a269e72e626e1a35242258937e33fccafc 100644 (file)
@@ -1698,11 +1698,8 @@ static void acsi_geninit(void)
                disk->major_name = acsi_names + 4*i;
                disk->minor_shift = (acsi_info[i].type==HARDDISK)?4:0;
                disk->fops = &acsi_fops;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                               1<<disk->minor_shift,
-                               disk->fops,
-                               acsi_info[i].size);
+               set_capacity(disk, acsi_info[i].size);
+               add_disk(disk);
        }
 }
 
index 8f78cf4d16f22fbaecbc4c97665e569626543e3a..33aa4d1f1781b49b8116560ee20487b79dbaa7c5 100644 (file)
@@ -769,11 +769,8 @@ static int revalidate_allvol(kdev_t dev)
                        continue;
                (BLK_DEFAULT_QUEUE(MAJOR_NR + ctlr))->hardsect_size = drv->block_size;
                disk->major_name = hba[ctlr]->names + 12 * i;
-               add_gendisk(disk);
-               register_disk(disk,
-                             mk_kdev(disk->major, disk->first_minor),
-                             1<<disk->minor_shift, disk->fops,
-                             drv->nr_blocks);
+               set_capacity(disk, drv->nr_blocks);
+               add_disk(disk);
        }
         hba[ctlr]->usage_count--;
         return 0;
@@ -1241,12 +1238,8 @@ static int register_new_disk(int ctlr)
        /* setup partitions per disk */
         disk = &hba[ctlr]->gendisk[logvol];
        disk->major_name = hba[ctlr]->names + 12 * logvol;
-       add_gendisk(disk);
-       register_disk(disk,
-                     mk_kdev(disk->major, disk->first_minor),
-                     1<<disk->minor_shift,
-                     disk->fops,
-                     hba[ctlr]->drv[logvol].nr_blocks);
+       set_capacity(disk, hba[ctlr]->drv[logvol].nr_blocks);
+       add_disk(disk);
        
        kfree(ld_buff);
        kfree(size_buff);
@@ -2449,11 +2442,8 @@ static int __init cciss_init_one(struct pci_dev *pdev,
                        continue;
                (BLK_DEFAULT_QUEUE(MAJOR_NR + i))->hardsect_size = drv->block_size;
                disk->major_name = hba[i]->names + 12 * j;
-               add_gendisk(disk);
-               register_disk(disk,
-                             mk_kdev(disk->major, disk->first_minor),
-                             1<<disk->minor_shift, disk->fops,
-                             drv->nr_blocks);
+               set_capacity(disk, drv->nr_blocks);
+               add_disk(disk);
        }
 
        cciss_register_scsi(i, 1);  /* hook ourself into SCSI subsystem */
index d1947a4e2be6fd39c41ff413d4ca4fe584ae536d..dec7ab4b6cf9929e4c33f53563f9b661da37cf3d 100644 (file)
@@ -449,11 +449,8 @@ int __init cpqarray_init(void)
                                continue;
                        disk->major_name = ida_names + (i*NWD+j)*10;
                        (BLK_DEFAULT_QUEUE(MAJOR_NR + i))->hardsect_size = drv->blk_size;
-                       add_gendisk(disk);
-                       register_disk(disk,
-                                     mk_kdev(disk->major,disk->first_minor),
-                                     1<<disk->minor_shift, disk->fops,
-                                     drv->nr_blks);
+                       set_capacity(disk, drv->nr_blks);
+                       add_disk(disk);
                }
        }
        /* done ! */
@@ -1475,11 +1472,8 @@ static int revalidate_allvol(kdev_t dev)
                        continue;
                (BLK_DEFAULT_QUEUE(MAJOR_NR + ctlr))->hardsect_size = drv->blk_size;
                disk->major_name = ida_names + (ctlr*NWD+i)*10;
-               add_gendisk(disk);
-               register_disk(disk,
-                             mk_kdev(disk->major,disk->first_minor),
-                             1<<disk->minor_shift, disk->fops,
-                             drv->nr_blks);
+               set_capacity(disk, drv->nr_blks);
+               add_disk(disk);
        }
 
        hba[ctlr]->usage_count--;
index 51b77476e95ffd6aae865b1c6904292c04d6cee6..d808f4334fae30746daee782e7dc1dfdbf69f49f 100644 (file)
@@ -40,8 +40,7 @@ static struct gendisk *gendisk_head;
  * This function registers the partitioning information in @gp
  * with the kernel.
  */
-void
-add_gendisk(struct gendisk *gp)
+static void add_gendisk(struct gendisk *gp)
 {
        struct gendisk *sgp;
        struct hd_struct *p = NULL;
@@ -80,7 +79,14 @@ out:
        write_unlock(&gendisk_lock);
 }
 
-EXPORT_SYMBOL(add_gendisk);
+void add_disk(struct gendisk *disk)
+{
+       add_gendisk(disk);
+       register_disk(disk, mk_kdev(disk->major, disk->first_minor),
+                       1<<disk->minor_shift, disk->fops, get_capacity(disk));
+}
+
+EXPORT_SYMBOL(add_disk);
 EXPORT_SYMBOL(del_gendisk);
 
 void unlink_gendisk(struct gendisk *disk)
index e227f25b5611998d1a591681340a559025571a6a..a5fda21053afadc98f0928d576e083f964b8aba9 100644 (file)
@@ -932,12 +932,7 @@ static int __init pcd_init(void)
                if (cd->present) {
                        struct gendisk *disk = &cd->disk;
                        register_cdrom(&cd->info);
-                       add_gendisk(disk);
-                       register_disk(disk,
-                                     mk_kdev(disk->major,disk->first_minor),
-                                     1<<disk->minor_shift,
-                                     disk->fops,
-                                     0);
+                       add_disk(disk);
                }
        }
 
index 66e3300028a211502a102fcab6bfa1c285fc2fd9..090850c8647bd22db020281977280751e15f3228 100644 (file)
@@ -687,10 +687,8 @@ static int pd_detect( void )
                        PD.gd.fops = &pd_fops;
                        PD.gd.major = major;
                        PD.gd.first_minor = unit << PD_BITS;
-                       add_gendisk(&PD.gd);
-                       register_disk(&PD.gd,mk_kdev(MAJOR_NR,unit<<PD_BITS),
-                                       PD_PARTNS,&pd_fops,
-                                       PD.capacity);
+                       set_capacity(&PD.gd, PD.capacity);
+                       add_disk(&PD.gd);
                }
        }
        if (k)
index 41c77355549aae83b94894a9927cecac39628ec8..c389ef1d90586500966ecc356f10b926a7f96b1d 100644 (file)
@@ -987,10 +987,7 @@ static int __init pf_init(void)
                struct gendisk *disk = &pf->disk;
                if (!pf->present)
                        continue;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                               1<<disk->minor_shift, disk->fops,
-                               get_capacity(disk));
+               add_disk(disk);
        }
        return 0;
 }
index 2b4d18cd054ddeb36343b3d2626d1e41bc4b918e..bd099d196d4d9885061a7514d377afdf6416a80d 100644 (file)
@@ -435,11 +435,9 @@ static int __init ps2esdi_geninit(void)
 
        for (i = 0; i < ps2esdi_drives; i++) {
                struct gendisk *disk = ps2esdi_gendisk + i;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major,disk->first_minor),
-                               1<<disk->minor_shift, disk->fops,
-                               ps2esdi_info[i].head * ps2esdi_info[i].sect *
+               set_capacity(disk, ps2esdi_info[i].head * ps2esdi_info[i].sect *
                                ps2esdi_info[i].cyl);
+               add_disk(disk);
        }
        return 0;
 
index ea9a3b15d358f298d1917f7365512df30f28cda1..50097483e9e34bdf494a61eb63c2e3992d922b6c 100644 (file)
@@ -1199,11 +1199,8 @@ int __init mm_init(void)
                disk->major_name = mm_names + i*6;
                disk->minor_shift = MM_SHIFT;
                disk->fops = &mm_fops;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                             1<<disk->minor_shift,
-                             disk->fops,
-                             cards[i].mm_size << 1);
+               set_capacity(disk, cards[i].mm_size << 1);
+               add_disk(disk);
        }
 
        init_battery_timer();
index 97ec536e475655a933dfa907ad98f17c8d21b582..4ef60691a2d9b3724b1d06859e98f9a8ec5d5283 100644 (file)
@@ -222,12 +222,9 @@ int __init xd_init (void)
 
        for (i = 0; i < xd_drives; i++) {
                struct gendisk *disk = xd_gendisk + i;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major,disk->first_minor),
-                               1<<disk->minor_shift,
-                               disk->fops,
-                               xd_info[i].heads * xd_info[i].cylinders *
+               set_capacity(disk, xd_info[i].heads * xd_info[i].cylinders *
                                xd_info[i].sectors);
+               add_disk(disk);
        }
 
        return 0;
index b197597a6d55637910792f6cb9d4639b2bc9d6ac..bd55ea0d8cd36bd48621b39f8c716290882b9f0f 100644 (file)
@@ -3443,12 +3443,7 @@ int __init cdu31a_init(void)
                scd_info.mask = deficiency;
                if (register_cdrom(&scd_info))
                        goto errout0;
-               add_gendisk(disk);
-               register_disk(disk,
-                             mk_kdev(disk->major,disk->first_minor),
-                             1<<disk->minor_shift,
-                             disk->fops,
-                             0);
+               add_disk(disk);
        }
 
 
index c43ed6d66fe1b9bf7046163c277e189967d4bf2a..a2c924b970be4b07e0c580ec5b2e041d958207d0 100644 (file)
@@ -1482,12 +1482,7 @@ int __init cm206_init(void)
                printk(KERN_INFO "Cannot register for cdrom %d!\n", MAJOR_NR);
                goto out_cdrom;
        }
-       add_gendisk(disk);
-       register_disk(disk,
-                     mk_kdev(disk->major,disk->first_minor),
-                     1<<disk->minor_shift,
-                     disk->fops,
-                     0);
+       add_disk(disk);
        blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), do_cm206_request,
                       &cm206_lock);
        blk_queue_hardsect_size(BLK_DEFAULT_QUEUE(MAJOR_NR), 2048);
index c417644e6df2a7a74b8f9525ea3cf66268f9979d..9fd5a13f05befce2abd0fb0e376440788d05f932 100644 (file)
@@ -1130,12 +1130,7 @@ int __init mcd_init(void)
                printk(KERN_ERR "mcd: Unable to register Mitsumi CD-ROM.\n");
                goto out_cdrom;
        }
-       add_gendisk(disk);
-       register_disk(disk,
-                     mk_kdev(disk->major,disk->first_minor),
-                     1<<disk->minor_shift,
-                     disk->fops,
-                     0);
+       add_disk(disk);
        printk(msg);
        return 0;
 
index 22e7d30af9450b63b70b9ebc0dcd7191f79fda10..748bae979b63d57fe603e5a3e4f227ef6248a42e 100644 (file)
@@ -1230,12 +1230,7 @@ int __init mcdx_init_drive(int drive)
                blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR));
                return 2;
        }
-       add_gendisk(disk);
-       register_disk(disk,
-                     mk_kdev(disk->major,disk->first_minor),
-                     1<<disk->minor_shift,
-                     disk->fops,
-                     0);
+       add_disk(disk);
        printk(msg);
        return 0;
 }
index b39b4b630d9954b1fc89324b058752bf7d23f46e..f255d069a7520d318d25a4b60898be9f1533db36 100644 (file)
@@ -5843,12 +5843,7 @@ int __init sbpcd_init(void)
                {
                        printk(" sbpcd: Unable to register with Uniform CD-ROm driver\n");
                }
-               add_gendisk(disk);
-               register_disk(disk,
-                             mk_kdev(disk->major,disk->first_minor),
-                             1<<disk->minor_shift,
-                             disk->fops,
-                             0);
+               add_disk(disk);
        }
        blk_queue_hardsect_size(BLK_DEFAULT_QUEUE(MAJOR_NR), CD_FRAMESIZE);
 
index 345a4b5079a307e6e0e92fc41eaa933d04940a77..ebb46668ad270028d4d1e9561649e74acc4728fc 100644 (file)
@@ -3143,10 +3143,7 @@ static int ide_cdrom_attach (ide_drive_t *drive)
        DRIVER(drive)->busy--;
 
        cdrom_read_toc(drive, &sense);
-       add_gendisk(g);
-       register_disk(g, mk_kdev(g->major,g->first_minor),
-                     1<<g->minor_shift, ide_fops,
-                     get_capacity(g));
+       add_disk(g);
        return 0;
 failed:
        return 1;
index 0dbc6e4366d4a784ccf990b4a8362d1ff2935f5e..58438b363cf9842befaf1074a5112536d8c3a8c0 100644 (file)
@@ -1706,10 +1706,8 @@ static int idedisk_attach(ide_drive_t *drive)
        g->de = drive->de;
        g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
        g->flags |= GENHD_FL_DEVFS;
-       add_gendisk(g);
-       register_disk(g, mk_kdev(g->major,g->first_minor),
-                     1<<g->minor_shift, ide_fops,
-                     current_capacity(drive));
+       set_capacity(g, current_capacity(drive));
+       add_disk(g);
        return 0;
 failed:
        return 1;
index 0840066639f2eab908cd68b99cdee7d981bde6ff..c0cd08ad6f293012cec1d56f53981e358d6197b1 100644 (file)
@@ -2111,10 +2111,7 @@ static int idefloppy_attach (ide_drive_t *drive)
        g->de = drive->de;
        g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
        g->flags |= GENHD_FL_DEVFS;
-       add_gendisk(g);
-       register_disk(g, mk_kdev(g->major,g->first_minor),
-                     1<<g->minor_shift, ide_fops,
-                     get_capacity(g));
+       add_disk(g);
        return 0;
 failed:
        return 1;
index 24c598563bd40ec72b7f5f53a4ceabdabee33044..1170c84570663761c2fd9e1222cf1cf033ab491a 100644 (file)
@@ -838,11 +838,9 @@ static void __init hd_geninit(void)
        }
 
        for(drive=0; drive < NR_HD; drive++) {
-               add_gendisk(hd_gendisk + drive);
-               register_disk(hd_gendisk + drive,
-                       mk_kdev(MAJOR_NR,drive<<6), 1<<6,
-                       &hd_fops, hd_info[drive].head * hd_info[drive].sect *
-                       hd_info[drive].cyl);
+               struct hd_i_struct *p = hd_info + drive;
+               set_capacity(hd_gendisk + drive, p->head * p->sect * p->cyl);
+               add_disk(hd_gendisk + drive);
        }
 }
 
index 5e2b60b76faf39ab3a215f9e1e476f29da53fdb4..9aea687607d4ce4095b95b937224a747dc7658a2 100644 (file)
@@ -1466,9 +1466,8 @@ static int do_md_run(mddev_t * mddev)
                mddev->state &= ~(1 << MD_SB_CLEAN);
        md_update_sb(mddev);
        md_recover_arrays();
-       add_gendisk(disk);
-       register_disk(disk, mk_kdev(disk->major,disk->first_minor),
-                       1, &md_fops, md_size[mdidx(mddev)]<<1);
+       set_capacity(disk, md_size[mdidx(mddev)]<<1);
+       add_disk(disk);
        disks[mdidx(mddev)] = disk;
 
        return (0);
index ae7befdf574b1e92f656c12217eefa3d78533eab..23f265d31c51d6d2fe8a9de739fb99727a30bce7 100644 (file)
@@ -719,11 +719,7 @@ static int i2ob_evt(void *dummy)
                                struct gendisk *p = &i2o_disk[unit>>4];
                                i2ob_install_device(i2ob_dev[unit].i2odev->controller, 
                                        i2ob_dev[unit].i2odev, unit);
-                               add_gendisk(p);
-                               register_disk(p,
-                                             mk_kdev(p->major, p->first_minor),
-                                             1<<p->minor_shift, p->fops,
-                                             get_capacity(p));
+                               add_disk(p);
                                break;
                        }
 
@@ -1465,12 +1461,7 @@ static void i2ob_scan(int bios)
                                        printk(KERN_WARNING "Could not install I2O block device\n");
                                else
                                {
-                                       struct gendisk *p = &i2o_disk[scan_unit>>4];
-                                       add_gendisk(p);
-                                       register_disk(p,
-                                                     mk_kdev(p->major, p->first_minor),
-                                                     1<<p->minor_shift, p->fops,
-                                                     get_capacity(p));
+                                       add_disk(&i2o_disk[scan_unit>>4]);
                                        scan_unit+=16;
                                        i2ob_dev_count++;
 
@@ -1558,12 +1549,7 @@ void i2ob_new_device(struct i2o_controller *c, struct i2o_device *d)
                printk(KERN_ERR "i2o_block: Could not install new device\n");
        else    
        {
-               struct gendisk *p = &i2o_disk[unit>>4];
-               add_gendisk(p);
-               register_disk(p,
-                             mk_kdev(p->major, p->first_minor),
-                             1<<p->minor_shift, p->fops,
-                             get_capacity(p));
+               add_disk(&i2o_disk[unit>>4]);
                i2ob_dev_count++;
                i2o_device_notify_on(d, &i2o_block_handler);
        }
index 02f515fbee8dfe2d19334f1e54e3e353ffea6b45..0f5511fcde4580c72b3746dd2c18208732809d19 100644 (file)
@@ -1252,10 +1252,8 @@ static void ftl_notify_add(struct mtd_info *mtd)
                partition->state = FTL_FORMATTED;
                atomic_set(&partition->open, 0);
                myparts[device] = partition;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(MAJOR_NR, device << 4),
-                             MAX_PART, &ftl_blk_fops,
-                             le32_to_cpu(partition->header.FormattedSize)/SECTOR_SIZE);
+               set_capacity(disk, le32_to_cpu(partition->header.FormattedSize)/SECTOR_SIZE);
+               add_disk(disk);
 #ifdef PCMCIA_DEBUG
                printk(KERN_INFO "ftl_cs: opening %d kb FTL partition\n",
                       le32_to_cpu(partition->header.FormattedSize) >> 10);
index 9b75ccc07f35d01c6d3a914c6f0648dbb7608da6..1a329064c6a6311484ecdb3cbcd6ef8b1511d289 100644 (file)
@@ -49,9 +49,7 @@ static int mtdblock_open(struct inode *inode, struct file *file)
        }
 
        set_capacit(disk, mtd->size>>9);
-       add_gendisk(disk);
-       register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                       1<<disk->minor_shift, disk->fops, get_capacity(disk));
+       add_disk(disk);
 
        DEBUG(1, "ok\n");
 
index f3abf01fd5ba010b88d5ef5b3d491711a46a9ec9..ce55535534cc9855cb9456e26fababc3931633f6 100644 (file)
@@ -139,10 +139,9 @@ static void NFTL_setup(struct mtd_info *mtd)
        gd->first_minor = firstfree << NFTL_PARTN_BITS;
        gd->minor_shift = NFTL_PARTN_BITS;
        gd->major_name = name;
+       set_capacity(gd, nftl->nr_sects);
        nftl->disk = gd;
-       add_gendisk(gd);
-       register_disk(gd, mk_kdev(MAJOR_NR,firstfree<<NFTL_PARTN_BITS),
-                     1<<NFTL_PARTN_BITS, &nftl_fops, nftl->nr_sects);
+       add_disk(gd);
 }
 
 static void NFTL_unsetup(int i)
index 6df1294457245b73d478530bd605cb73eb1f0312..4a069ac4cf12d71cc44ceb5c3e46caf6e0248a63 100644 (file)
@@ -259,10 +259,8 @@ dasd_setup_partitions(dasd_device_t * device)
        struct gendisk *disk = dasd_gendisk_by_dev(device->kdev);
        if (disk == NULL)
                return;
-       add_gendisk(disk);
-       register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                       1<<disk->minor_shift, disk->fops,
-                       device->blocks << device->s2b_shift);
+       set_capacity(disk, device->blocks << device->s2b_shift);
+       add_disk(disk);
 }
 
 /*
index a05583f3507da01ead37c5bea98137ca6c062673..3ddc11242ecd015cf315d20dc1ef562bbb72f9b0 100644 (file)
@@ -641,10 +641,8 @@ static int jsfd_init(void)
                disk->major_name = names[i];
                disk->fops = &jsfd_fops;
                disk->minor_shift = 0;
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                               1<<disk->minor_shift, disk->fops,
-                               jdp->dsize >> 9);
+               set_capacity(disk, jdp->dsize >> 9);
+               add_disk(disk);
                set_device_ro(MKDEV(JSFD_MAJOR, i), 1);
        }
        return 0;
index 145e569282ef5e5ade6e370e99b72e69513a0917..7d647021199e2bc6eeec4a4e235f7a62764f42e6 100644 (file)
@@ -1250,10 +1250,8 @@ static void sd_finish()
                if (sdkp && (0 == sdkp->capacity) && sdkp->device) {
                        sd_init_onedisk(sdkp, k);
                        if (!sdkp->has_been_registered) {
-                               add_gendisk(sd_disks[k]);
-                               register_disk(sd_disks[k], MKDEV_SD(k),
-                                               1<<4, &sd_fops,
-                                               sdkp->capacity);
+                               set_capacity(sd_disks[k], sdkp->capacity);
+                               add_disk(sd_disks[k]);
                                sdkp->has_been_registered = 1;
                        }
                }
index da031ba3297b16035d49f4b7512d018f30faf88e..d3f4bc0da0885d826cd4c1bd1b9f1555999853cd 100644 (file)
@@ -808,9 +808,8 @@ void sr_finish()
                                   &dev_attr_kdev);
                disk->de = cd->device->de;
                register_cdrom(&cd->cdi);
-               add_gendisk(disk);
-               register_disk(disk, mk_kdev(disk->major, disk->first_minor),
-                               1<<disk->minor_shift, disk->fops, cd->capacity);
+               set_capacity(disk, cd->capacity);
+               add_disk(disk);
        }
 }
 
index 8406d1aeaede868e8c8c2f46813ba80b0bd25fd0..8632a84676e039992c747a71ddeb54e2dedc7340 100644 (file)
@@ -91,7 +91,7 @@ struct gendisk {
 };
 
 /* drivers/block/genhd.c */
-extern void add_gendisk(struct gendisk *gp);
+extern void add_disk(struct gendisk *disk);
 extern void del_gendisk(struct gendisk *gp);
 extern void unlink_gendisk(struct gendisk *gp);
 extern struct gendisk *get_gendisk(kdev_t dev);