summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acorn/block/mfmhd.c25
-rw-r--r--drivers/block/DAC960.c12
-rw-r--r--drivers/block/acsi.c7
-rw-r--r--drivers/block/cciss.c22
-rw-r--r--drivers/block/cpqarray.c14
-rw-r--r--drivers/block/genhd.c12
-rw-r--r--drivers/block/paride/pcd.c7
-rw-r--r--drivers/block/paride/pd.c6
-rw-r--r--drivers/block/paride/pf.c5
-rw-r--r--drivers/block/ps2esdi.c6
-rw-r--r--drivers/block/umem.c7
-rw-r--r--drivers/block/xd.c7
-rw-r--r--drivers/cdrom/cdu31a.c7
-rw-r--r--drivers/cdrom/cm206.c7
-rw-r--r--drivers/cdrom/mcd.c7
-rw-r--r--drivers/cdrom/mcdx.c7
-rw-r--r--drivers/cdrom/sbpcd.c7
-rw-r--r--drivers/ide/ide-cd.c5
-rw-r--r--drivers/ide/ide-disk.c6
-rw-r--r--drivers/ide/ide-floppy.c5
-rw-r--r--drivers/ide/legacy/hd.c8
-rw-r--r--drivers/md/md.c5
-rw-r--r--drivers/message/i2o/i2o_block.c20
-rw-r--r--drivers/mtd/ftl.c6
-rw-r--r--drivers/mtd/mtdblock_ro.c4
-rw-r--r--drivers/mtd/nftlcore.c5
-rw-r--r--drivers/s390/block/dasd_genhd.c6
-rw-r--r--drivers/sbus/char/jsflash.c6
-rw-r--r--drivers/scsi/sd.c6
-rw-r--r--drivers/scsi/sr.c5
30 files changed, 77 insertions, 175 deletions
diff --git a/drivers/acorn/block/mfmhd.c b/drivers/acorn/block/mfmhd.c
index 55df18f1a484..bcb43f358167 100644
--- a/drivers/acorn/block/mfmhd.c
+++ b/drivers/acorn/block/mfmhd.c
@@ -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);
}
}
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
index 5b80e71ae5f7..23f8d25f9ec2 100644
--- a/drivers/block/DAC960.c
+++ b/drivers/block/DAC960.c
@@ -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;
diff --git a/drivers/block/acsi.c b/drivers/block/acsi.c
index 3313f7cb0a3c..194015a269e7 100644
--- a/drivers/block/acsi.c
+++ b/drivers/block/acsi.c
@@ -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);
}
}
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 8f78cf4d16f2..33aa4d1f1781 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -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 */
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index d1947a4e2be6..dec7ab4b6cf9 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -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--;
diff --git a/drivers/block/genhd.c b/drivers/block/genhd.c
index 51b77476e95f..d808f4334fae 100644
--- a/drivers/block/genhd.c
+++ b/drivers/block/genhd.c
@@ -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)
diff --git a/drivers/block/paride/pcd.c b/drivers/block/paride/pcd.c
index e227f25b5611..a5fda21053af 100644
--- a/drivers/block/paride/pcd.c
+++ b/drivers/block/paride/pcd.c
@@ -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);
}
}
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c
index 66e3300028a2..090850c8647b 100644
--- a/drivers/block/paride/pd.c
+++ b/drivers/block/paride/pd.c
@@ -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)
diff --git a/drivers/block/paride/pf.c b/drivers/block/paride/pf.c
index 41c77355549a..c389ef1d9058 100644
--- a/drivers/block/paride/pf.c
+++ b/drivers/block/paride/pf.c
@@ -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;
}
diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c
index 2b4d18cd054d..bd099d196d4d 100644
--- a/drivers/block/ps2esdi.c
+++ b/drivers/block/ps2esdi.c
@@ -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;
diff --git a/drivers/block/umem.c b/drivers/block/umem.c
index ea9a3b15d358..50097483e9e3 100644
--- a/drivers/block/umem.c
+++ b/drivers/block/umem.c
@@ -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();
diff --git a/drivers/block/xd.c b/drivers/block/xd.c
index 97ec536e4756..4ef60691a2d9 100644
--- a/drivers/block/xd.c
+++ b/drivers/block/xd.c
@@ -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;
diff --git a/drivers/cdrom/cdu31a.c b/drivers/cdrom/cdu31a.c
index b197597a6d55..bd55ea0d8cd3 100644
--- a/drivers/cdrom/cdu31a.c
+++ b/drivers/cdrom/cdu31a.c
@@ -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);
}
diff --git a/drivers/cdrom/cm206.c b/drivers/cdrom/cm206.c
index c43ed6d66fe1..a2c924b970be 100644
--- a/drivers/cdrom/cm206.c
+++ b/drivers/cdrom/cm206.c
@@ -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);
diff --git a/drivers/cdrom/mcd.c b/drivers/cdrom/mcd.c
index c417644e6df2..9fd5a13f05be 100644
--- a/drivers/cdrom/mcd.c
+++ b/drivers/cdrom/mcd.c
@@ -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;
diff --git a/drivers/cdrom/mcdx.c b/drivers/cdrom/mcdx.c
index 22e7d30af945..748bae979b63 100644
--- a/drivers/cdrom/mcdx.c
+++ b/drivers/cdrom/mcdx.c
@@ -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;
}
diff --git a/drivers/cdrom/sbpcd.c b/drivers/cdrom/sbpcd.c
index b39b4b630d99..f255d069a752 100644
--- a/drivers/cdrom/sbpcd.c
+++ b/drivers/cdrom/sbpcd.c
@@ -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);
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 345a4b5079a3..ebb46668ad27 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -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;
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index 0dbc6e4366d4..58438b363cf9 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -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;
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 0840066639f2..c0cd08ad6f29 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -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;
diff --git a/drivers/ide/legacy/hd.c b/drivers/ide/legacy/hd.c
index 24c598563bd4..1170c8457066 100644
--- a/drivers/ide/legacy/hd.c
+++ b/drivers/ide/legacy/hd.c
@@ -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);
}
}
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 5e2b60b76faf..9aea687607d4 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -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);
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c
index ae7befdf574b..23f265d31c51 100644
--- a/drivers/message/i2o/i2o_block.c
+++ b/drivers/message/i2o/i2o_block.c
@@ -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);
}
diff --git a/drivers/mtd/ftl.c b/drivers/mtd/ftl.c
index 02f515fbee8d..0f5511fcde45 100644
--- a/drivers/mtd/ftl.c
+++ b/drivers/mtd/ftl.c
@@ -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);
diff --git a/drivers/mtd/mtdblock_ro.c b/drivers/mtd/mtdblock_ro.c
index 9b75ccc07f35..1a329064c6a6 100644
--- a/drivers/mtd/mtdblock_ro.c
+++ b/drivers/mtd/mtdblock_ro.c
@@ -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");
diff --git a/drivers/mtd/nftlcore.c b/drivers/mtd/nftlcore.c
index f3abf01fd5ba..ce55535534cc 100644
--- a/drivers/mtd/nftlcore.c
+++ b/drivers/mtd/nftlcore.c
@@ -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)
diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c
index 6df129445724..4a069ac4cf12 100644
--- a/drivers/s390/block/dasd_genhd.c
+++ b/drivers/s390/block/dasd_genhd.c
@@ -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);
}
/*
diff --git a/drivers/sbus/char/jsflash.c b/drivers/sbus/char/jsflash.c
index a05583f3507d..3ddc11242ecd 100644
--- a/drivers/sbus/char/jsflash.c
+++ b/drivers/sbus/char/jsflash.c
@@ -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;
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 145e569282ef..7d647021199e 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -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;
}
}
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index da031ba3297b..d3f4bc0da088 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -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);
}
}