aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2006-06-29 19:57:46 -0400
committerLen Brown <len.brown@intel.com>2006-06-29 19:57:46 -0400
commitd120cfb544ed6161b9d32fb6c4648c471807ee6b (patch)
tree7757ad0198d8df76ff5c60f939a687687c41da00 /drivers/block
parent9dce0e950dbfab4148f35ac6f297d8638cdc63c4 (diff)
parentbf7e8511088963078484132636839b59e25cf14f (diff)
merge linus into release branch
Conflicts: drivers/acpi/acpi_memhotplug.c
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/DAC960.c1
-rw-r--r--drivers/block/acsi.c5
-rw-r--r--drivers/block/acsi_slm.c10
-rw-r--r--drivers/block/cciss.c1
-rw-r--r--drivers/block/cpqarray.c5
-rw-r--r--drivers/block/floppy.c55
-rw-r--r--drivers/block/loop.c10
-rw-r--r--drivers/block/nbd.c5
-rw-r--r--drivers/block/paride/pf.c2
-rw-r--r--drivers/block/paride/pg.c18
-rw-r--r--drivers/block/paride/pt.c21
-rw-r--r--drivers/block/pktcdvd.c1
-rw-r--r--drivers/block/ps2esdi.c1
-rw-r--r--drivers/block/rd.c7
-rw-r--r--drivers/block/swim3.c4
-rw-r--r--drivers/block/sx8.c10
-rw-r--r--drivers/block/ub.c6
-rw-r--r--drivers/block/umem.c1
-rw-r--r--drivers/block/viodasd.c3
-rw-r--r--drivers/block/xd.c1
-rw-r--r--drivers/block/z2ram.c1
21 files changed, 11 insertions, 157 deletions
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
index dd8a1501142f..50ca1aa4ee3b 100644
--- a/drivers/block/DAC960.c
+++ b/drivers/block/DAC960.c
@@ -2530,7 +2530,6 @@ static boolean DAC960_RegisterBlockDevice(DAC960_Controller_T *Controller)
2530 blk_queue_max_sectors(RequestQueue, Controller->MaxBlocksPerCommand); 2530 blk_queue_max_sectors(RequestQueue, Controller->MaxBlocksPerCommand);
2531 disk->queue = RequestQueue; 2531 disk->queue = RequestQueue;
2532 sprintf(disk->disk_name, "rd/c%dd%d", Controller->ControllerNumber, n); 2532 sprintf(disk->disk_name, "rd/c%dd%d", Controller->ControllerNumber, n);
2533 sprintf(disk->devfs_name, "rd/host%d/target%d", Controller->ControllerNumber, n);
2534 disk->major = MajorNumber; 2533 disk->major = MajorNumber;
2535 disk->first_minor = n << DAC960_MaxPartitionsBits; 2534 disk->first_minor = n << DAC960_MaxPartitionsBits;
2536 disk->fops = &DAC960_BlockDeviceOperations; 2535 disk->fops = &DAC960_BlockDeviceOperations;
diff --git a/drivers/block/acsi.c b/drivers/block/acsi.c
index 196c0ec9cd54..a317e4303952 100644
--- a/drivers/block/acsi.c
+++ b/drivers/block/acsi.c
@@ -1732,13 +1732,10 @@ int acsi_init( void )
1732 struct gendisk *disk = acsi_gendisk[i]; 1732 struct gendisk *disk = acsi_gendisk[i];
1733 sprintf(disk->disk_name, "ad%c", 'a'+i); 1733 sprintf(disk->disk_name, "ad%c", 'a'+i);
1734 aip = &acsi_info[NDevices]; 1734 aip = &acsi_info[NDevices];
1735 sprintf(disk->devfs_name, "ad/target%d/lun%d", aip->target, aip->lun);
1736 disk->major = ACSI_MAJOR; 1735 disk->major = ACSI_MAJOR;
1737 disk->first_minor = i << 4; 1736 disk->first_minor = i << 4;
1738 if (acsi_info[i].type != HARDDISK) { 1737 if (acsi_info[i].type != HARDDISK)
1739 disk->minors = 1; 1738 disk->minors = 1;
1740 strcat(disk->devfs_name, "/disc");
1741 }
1742 disk->fops = &acsi_fops; 1739 disk->fops = &acsi_fops;
1743 disk->private_data = &acsi_info[i]; 1740 disk->private_data = &acsi_info[i];
1744 set_capacity(disk, acsi_info[i].size); 1741 set_capacity(disk, acsi_info[i].size);
diff --git a/drivers/block/acsi_slm.c b/drivers/block/acsi_slm.c
index 4cb9c1336287..4030a8fd1187 100644
--- a/drivers/block/acsi_slm.c
+++ b/drivers/block/acsi_slm.c
@@ -65,7 +65,6 @@ not be guaranteed. There are several ways to assure this:
65#include <linux/time.h> 65#include <linux/time.h>
66#include <linux/mm.h> 66#include <linux/mm.h>
67#include <linux/slab.h> 67#include <linux/slab.h>
68#include <linux/devfs_fs_kernel.h>
69#include <linux/smp_lock.h> 68#include <linux/smp_lock.h>
70 69
71#include <asm/pgtable.h> 70#include <asm/pgtable.h>
@@ -1005,11 +1004,6 @@ int slm_init( void )
1005 BufferP = SLMBuffer; 1004 BufferP = SLMBuffer;
1006 SLMState = IDLE; 1005 SLMState = IDLE;
1007 1006
1008 devfs_mk_dir("slm");
1009 for (i = 0; i < MAX_SLM; i++) {
1010 devfs_mk_cdev(MKDEV(ACSI_MAJOR, i),
1011 S_IFCHR|S_IRUSR|S_IWUSR, "slm/%d", i);
1012 }
1013 return 0; 1007 return 0;
1014} 1008}
1015 1009
@@ -1032,10 +1026,6 @@ int init_module(void)
1032 1026
1033void cleanup_module(void) 1027void cleanup_module(void)
1034{ 1028{
1035 int i;
1036 for (i = 0; i < MAX_SLM; i++)
1037 devfs_remove("slm/%d", i);
1038 devfs_remove("slm");
1039 if (unregister_chrdev( ACSI_MAJOR, "slm" ) != 0) 1029 if (unregister_chrdev( ACSI_MAJOR, "slm" ) != 0)
1040 printk( KERN_ERR "acsi_slm: cleanup_module failed\n"); 1030 printk( KERN_ERR "acsi_slm: cleanup_module failed\n");
1041 atari_stram_free( SLMBuffer ); 1031 atari_stram_free( SLMBuffer );
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 39b0f53186e8..05fb08312c01 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -3248,7 +3248,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3248 3248
3249 q->queuedata = hba[i]; 3249 q->queuedata = hba[i];
3250 sprintf(disk->disk_name, "cciss/c%dd%d", i, j); 3250 sprintf(disk->disk_name, "cciss/c%dd%d", i, j);
3251 sprintf(disk->devfs_name, "cciss/host%d/target%d", i, j);
3252 disk->major = hba[i]->major; 3251 disk->major = hba[i]->major;
3253 disk->first_minor = j << NWD_SHIFT; 3252 disk->first_minor = j << NWD_SHIFT;
3254 disk->fops = &cciss_fops; 3253 disk->fops = &cciss_fops;
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 5eb6fb7b5cfa..bfd245df0a8c 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -33,7 +33,6 @@
33#include <linux/blkpg.h> 33#include <linux/blkpg.h>
34#include <linux/timer.h> 34#include <linux/timer.h>
35#include <linux/proc_fs.h> 35#include <linux/proc_fs.h>
36#include <linux/devfs_fs_kernel.h>
37#include <linux/init.h> 36#include <linux/init.h>
38#include <linux/hdreg.h> 37#include <linux/hdreg.h>
39#include <linux/spinlock.h> 38#include <linux/spinlock.h>
@@ -348,7 +347,6 @@ static void __devexit cpqarray_remove_one(int i)
348 for(j = 0; j < NWD; j++) { 347 for(j = 0; j < NWD; j++) {
349 if (ida_gendisk[i][j]->flags & GENHD_FL_UP) 348 if (ida_gendisk[i][j]->flags & GENHD_FL_UP)
350 del_gendisk(ida_gendisk[i][j]); 349 del_gendisk(ida_gendisk[i][j]);
351 devfs_remove("ida/c%dd%d",i,j);
352 put_disk(ida_gendisk[i][j]); 350 put_disk(ida_gendisk[i][j]);
353 } 351 }
354 blk_cleanup_queue(hba[i]->queue); 352 blk_cleanup_queue(hba[i]->queue);
@@ -1807,8 +1805,6 @@ static void getgeometry(int ctlr)
1807 1805
1808 } 1806 }
1809 1807
1810 sprintf(disk->devfs_name, "ida/c%dd%d", ctlr, log_unit);
1811
1812 info_p->phys_drives = 1808 info_p->phys_drives =
1813 sense_config_buf->ctlr_phys_drv; 1809 sense_config_buf->ctlr_phys_drv;
1814 info_p->drv_assign_map 1810 info_p->drv_assign_map
@@ -1844,7 +1840,6 @@ static void __exit cpqarray_exit(void)
1844 } 1840 }
1845 } 1841 }
1846 1842
1847 devfs_remove("ida");
1848 remove_proc_entry("cpqarray", proc_root_driver); 1843 remove_proc_entry("cpqarray", proc_root_driver);
1849} 1844}
1850 1845
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index dff1e67b1dd4..0242cbb86a87 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -177,7 +177,6 @@ static int print_unex = 1;
177#include <linux/ioport.h> 177#include <linux/ioport.h>
178#include <linux/interrupt.h> 178#include <linux/interrupt.h>
179#include <linux/init.h> 179#include <linux/init.h>
180#include <linux/devfs_fs_kernel.h>
181#include <linux/platform_device.h> 180#include <linux/platform_device.h>
182#include <linux/buffer_head.h> /* for invalidate_buffers() */ 181#include <linux/buffer_head.h> /* for invalidate_buffers() */
183#include <linux/mutex.h> 182#include <linux/mutex.h>
@@ -224,7 +223,6 @@ static struct completion device_release;
224static unsigned short virtual_dma_port = 0x3f0; 223static unsigned short virtual_dma_port = 0x3f0;
225irqreturn_t floppy_interrupt(int irq, void *dev_id, struct pt_regs *regs); 224irqreturn_t floppy_interrupt(int irq, void *dev_id, struct pt_regs *regs);
226static int set_dor(int fdc, char mask, char data); 225static int set_dor(int fdc, char mask, char data);
227static void register_devfs_entries(int drive) __init;
228 226
229#define K_64 0x10000 /* 64KB */ 227#define K_64 0x10000 /* 64KB */
230 228
@@ -3676,7 +3674,6 @@ static void __init config_types(void)
3676 first = 0; 3674 first = 0;
3677 } 3675 }
3678 printk("%s fd%d is %s", prepend, drive, name); 3676 printk("%s fd%d is %s", prepend, drive, name);
3679 register_devfs_entries(drive);
3680 } 3677 }
3681 *UDP = *params; 3678 *UDP = *params;
3682 } 3679 }
@@ -3954,37 +3951,6 @@ static struct block_device_operations floppy_fops = {
3954 .media_changed = check_floppy_change, 3951 .media_changed = check_floppy_change,
3955 .revalidate_disk = floppy_revalidate, 3952 .revalidate_disk = floppy_revalidate,
3956}; 3953};
3957static char *table[] = {
3958 "", "d360", "h1200", "u360", "u720", "h360", "h720",
3959 "u1440", "u2880", "CompaQ", "h1440", "u1680", "h410",
3960 "u820", "h1476", "u1722", "h420", "u830", "h1494", "u1743",
3961 "h880", "u1040", "u1120", "h1600", "u1760", "u1920",
3962 "u3200", "u3520", "u3840", "u1840", "u800", "u1600",
3963 NULL
3964};
3965static int t360[] = { 1, 0 },
3966 t1200[] = { 2, 5, 6, 10, 12, 14, 16, 18, 20, 23, 0 },
3967 t3in[] = { 8, 9, 26, 27, 28, 7, 11, 15, 19, 24, 25, 29, 31, 3, 4, 13,
3968 17, 21, 22, 30, 0 };
3969static int *table_sup[] =
3970 { NULL, t360, t1200, t3in + 5 + 8, t3in + 5, t3in, t3in };
3971
3972static void __init register_devfs_entries(int drive)
3973{
3974 int base_minor = (drive < 4) ? drive : (124 + drive);
3975
3976 if (UDP->cmos < ARRAY_SIZE(default_drive_params)) {
3977 int i = 0;
3978 do {
3979 int minor = base_minor + (table_sup[UDP->cmos][i] << 2);
3980
3981 devfs_mk_bdev(MKDEV(FLOPPY_MAJOR, minor),
3982 S_IFBLK | S_IRUSR | S_IWUSR | S_IRGRP |
3983 S_IWGRP, "floppy/%d%s", drive,
3984 table[table_sup[UDP->cmos][i]]);
3985 } while (table_sup[UDP->cmos][i++]);
3986 }
3987}
3988 3954
3989/* 3955/*
3990 * Floppy Driver initialization 3956 * Floppy Driver initialization
@@ -4261,11 +4227,9 @@ static int __init floppy_init(void)
4261 motor_off_timer[dr].function = motor_off_callback; 4227 motor_off_timer[dr].function = motor_off_callback;
4262 } 4228 }
4263 4229
4264 devfs_mk_dir("floppy");
4265
4266 err = register_blkdev(FLOPPY_MAJOR, "fd"); 4230 err = register_blkdev(FLOPPY_MAJOR, "fd");
4267 if (err) 4231 if (err)
4268 goto out_devfs_remove; 4232 goto out_put_disk;
4269 4233
4270 floppy_queue = blk_init_queue(do_fd_request, &floppy_lock); 4234 floppy_queue = blk_init_queue(do_fd_request, &floppy_lock);
4271 if (!floppy_queue) { 4235 if (!floppy_queue) {
@@ -4424,8 +4388,6 @@ out_unreg_region:
4424 blk_cleanup_queue(floppy_queue); 4388 blk_cleanup_queue(floppy_queue);
4425out_unreg_blkdev: 4389out_unreg_blkdev:
4426 unregister_blkdev(FLOPPY_MAJOR, "fd"); 4390 unregister_blkdev(FLOPPY_MAJOR, "fd");
4427out_devfs_remove:
4428 devfs_remove("floppy");
4429out_put_disk: 4391out_put_disk:
4430 while (dr--) { 4392 while (dr--) {
4431 del_timer(&motor_off_timer[dr]); 4393 del_timer(&motor_off_timer[dr]);
@@ -4586,19 +4548,6 @@ static void floppy_release_irq_and_dma(void)
4586 4548
4587static char *floppy; 4549static char *floppy;
4588 4550
4589static void unregister_devfs_entries(int drive)
4590{
4591 int i;
4592
4593 if (UDP->cmos < ARRAY_SIZE(default_drive_params)) {
4594 i = 0;
4595 do {
4596 devfs_remove("floppy/%d%s", drive,
4597 table[table_sup[UDP->cmos][i]]);
4598 } while (table_sup[UDP->cmos][i++]);
4599 }
4600}
4601
4602static void __init parse_floppy_cfg_string(char *cfg) 4551static void __init parse_floppy_cfg_string(char *cfg)
4603{ 4552{
4604 char *ptr; 4553 char *ptr;
@@ -4635,13 +4584,11 @@ void cleanup_module(void)
4635 if ((allowed_drive_mask & (1 << drive)) && 4584 if ((allowed_drive_mask & (1 << drive)) &&
4636 fdc_state[FDC(drive)].version != FDC_NONE) { 4585 fdc_state[FDC(drive)].version != FDC_NONE) {
4637 del_gendisk(disks[drive]); 4586 del_gendisk(disks[drive]);
4638 unregister_devfs_entries(drive);
4639 device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos); 4587 device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos);
4640 platform_device_unregister(&floppy_device[drive]); 4588 platform_device_unregister(&floppy_device[drive]);
4641 } 4589 }
4642 put_disk(disks[drive]); 4590 put_disk(disks[drive]);
4643 } 4591 }
4644 devfs_remove("floppy");
4645 4592
4646 del_timer_sync(&fd_timeout); 4593 del_timer_sync(&fd_timeout);
4647 del_timer_sync(&fd_timer); 4594 del_timer_sync(&fd_timer);
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 3c74ea729fc7..013c5daddb0b 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -63,7 +63,6 @@
63#include <linux/blkdev.h> 63#include <linux/blkdev.h>
64#include <linux/blkpg.h> 64#include <linux/blkpg.h>
65#include <linux/init.h> 65#include <linux/init.h>
66#include <linux/devfs_fs_kernel.h>
67#include <linux/smp_lock.h> 66#include <linux/smp_lock.h>
68#include <linux/swap.h> 67#include <linux/swap.h>
69#include <linux/slab.h> 68#include <linux/slab.h>
@@ -210,7 +209,7 @@ static int do_lo_send_aops(struct loop_device *lo, struct bio_vec *bvec,
210{ 209{
211 struct file *file = lo->lo_backing_file; /* kudos to NFsckingS */ 210 struct file *file = lo->lo_backing_file; /* kudos to NFsckingS */
212 struct address_space *mapping = file->f_mapping; 211 struct address_space *mapping = file->f_mapping;
213 struct address_space_operations *aops = mapping->a_ops; 212 const struct address_space_operations *aops = mapping->a_ops;
214 pgoff_t index; 213 pgoff_t index;
215 unsigned offset, bv_offs; 214 unsigned offset, bv_offs;
216 int len, ret; 215 int len, ret;
@@ -784,7 +783,7 @@ static int loop_set_fd(struct loop_device *lo, struct file *lo_file,
784 783
785 error = -EINVAL; 784 error = -EINVAL;
786 if (S_ISREG(inode->i_mode) || S_ISBLK(inode->i_mode)) { 785 if (S_ISREG(inode->i_mode) || S_ISBLK(inode->i_mode)) {
787 struct address_space_operations *aops = mapping->a_ops; 786 const struct address_space_operations *aops = mapping->a_ops;
788 /* 787 /*
789 * If we can't read - sorry. If we only can't write - well, 788 * If we can't read - sorry. If we only can't write - well,
790 * it's going to be read-only. 789 * it's going to be read-only.
@@ -1277,8 +1276,6 @@ static int __init loop_init(void)
1277 goto out_mem3; 1276 goto out_mem3;
1278 } 1277 }
1279 1278
1280 devfs_mk_dir("loop");
1281
1282 for (i = 0; i < max_loop; i++) { 1279 for (i = 0; i < max_loop; i++) {
1283 struct loop_device *lo = &loop_dev[i]; 1280 struct loop_device *lo = &loop_dev[i];
1284 struct gendisk *disk = disks[i]; 1281 struct gendisk *disk = disks[i];
@@ -1296,7 +1293,6 @@ static int __init loop_init(void)
1296 disk->first_minor = i; 1293 disk->first_minor = i;
1297 disk->fops = &lo_fops; 1294 disk->fops = &lo_fops;
1298 sprintf(disk->disk_name, "loop%d", i); 1295 sprintf(disk->disk_name, "loop%d", i);
1299 sprintf(disk->devfs_name, "loop/%d", i);
1300 disk->private_data = lo; 1296 disk->private_data = lo;
1301 disk->queue = lo->lo_queue; 1297 disk->queue = lo->lo_queue;
1302 } 1298 }
@@ -1310,7 +1306,6 @@ static int __init loop_init(void)
1310out_mem4: 1306out_mem4:
1311 while (i--) 1307 while (i--)
1312 blk_cleanup_queue(loop_dev[i].lo_queue); 1308 blk_cleanup_queue(loop_dev[i].lo_queue);
1313 devfs_remove("loop");
1314 i = max_loop; 1309 i = max_loop;
1315out_mem3: 1310out_mem3:
1316 while (i--) 1311 while (i--)
@@ -1333,7 +1328,6 @@ static void loop_exit(void)
1333 blk_cleanup_queue(loop_dev[i].lo_queue); 1328 blk_cleanup_queue(loop_dev[i].lo_queue);
1334 put_disk(disks[i]); 1329 put_disk(disks[i]);
1335 } 1330 }
1336 devfs_remove("loop");
1337 if (unregister_blkdev(LOOP_MAJOR, "loop")) 1331 if (unregister_blkdev(LOOP_MAJOR, "loop"))
1338 printk(KERN_WARNING "loop: cannot unregister blkdev\n"); 1332 printk(KERN_WARNING "loop: cannot unregister blkdev\n");
1339 1333
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 7f554f2ed079..39662f0c9cce 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -29,8 +29,6 @@
29#include <linux/kernel.h> 29#include <linux/kernel.h>
30#include <net/sock.h> 30#include <net/sock.h>
31 31
32#include <linux/devfs_fs_kernel.h>
33
34#include <asm/uaccess.h> 32#include <asm/uaccess.h>
35#include <asm/system.h> 33#include <asm/system.h>
36#include <asm/types.h> 34#include <asm/types.h>
@@ -642,7 +640,6 @@ static int __init nbd_init(void)
642 printk(KERN_INFO "nbd: registered device at major %d\n", NBD_MAJOR); 640 printk(KERN_INFO "nbd: registered device at major %d\n", NBD_MAJOR);
643 dprintk(DBG_INIT, "nbd: debugflags=0x%x\n", debugflags); 641 dprintk(DBG_INIT, "nbd: debugflags=0x%x\n", debugflags);
644 642
645 devfs_mk_dir("nbd");
646 for (i = 0; i < nbds_max; i++) { 643 for (i = 0; i < nbds_max; i++) {
647 struct gendisk *disk = nbd_dev[i].disk; 644 struct gendisk *disk = nbd_dev[i].disk;
648 nbd_dev[i].file = NULL; 645 nbd_dev[i].file = NULL;
@@ -660,7 +657,6 @@ static int __init nbd_init(void)
660 disk->private_data = &nbd_dev[i]; 657 disk->private_data = &nbd_dev[i];
661 disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO; 658 disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO;
662 sprintf(disk->disk_name, "nbd%d", i); 659 sprintf(disk->disk_name, "nbd%d", i);
663 sprintf(disk->devfs_name, "nbd/%d", i);
664 set_capacity(disk, 0x7ffffc00ULL << 1); /* 2 TB */ 660 set_capacity(disk, 0x7ffffc00ULL << 1); /* 2 TB */
665 add_disk(disk); 661 add_disk(disk);
666 } 662 }
@@ -686,7 +682,6 @@ static void __exit nbd_cleanup(void)
686 put_disk(disk); 682 put_disk(disk);
687 } 683 }
688 } 684 }
689 devfs_remove("nbd");
690 unregister_blkdev(NBD_MAJOR, "nbd"); 685 unregister_blkdev(NBD_MAJOR, "nbd");
691 printk(KERN_INFO "nbd: unregistered device at major %d\n", NBD_MAJOR); 686 printk(KERN_INFO "nbd: unregistered device at major %d\n", NBD_MAJOR);
692} 687}
diff --git a/drivers/block/paride/pf.c b/drivers/block/paride/pf.c
index 852b564e903a..1a9dee19efcf 100644
--- a/drivers/block/paride/pf.c
+++ b/drivers/block/paride/pf.c
@@ -707,7 +707,7 @@ static int pf_detect(void)
707 if (pi_init(pf->pi, 0, conf[D_PRT], conf[D_MOD], 707 if (pi_init(pf->pi, 0, conf[D_PRT], conf[D_MOD],
708 conf[D_UNI], conf[D_PRO], conf[D_DLY], 708 conf[D_UNI], conf[D_PRO], conf[D_DLY],
709 pf_scratch, PI_PF, verbose, pf->name)) { 709 pf_scratch, PI_PF, verbose, pf->name)) {
710 if (!pf_probe(pf) && pf->disk) { 710 if (pf->disk && !pf_probe(pf)) {
711 pf->present = 1; 711 pf->present = 1;
712 k++; 712 k++;
713 } else 713 } else
diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c
index 79b868254032..13f998aa1cd3 100644
--- a/drivers/block/paride/pg.c
+++ b/drivers/block/paride/pg.c
@@ -156,7 +156,6 @@ enum {D_PRT, D_PRO, D_UNI, D_MOD, D_SLV, D_DLY};
156#include <linux/module.h> 156#include <linux/module.h>
157#include <linux/init.h> 157#include <linux/init.h>
158#include <linux/fs.h> 158#include <linux/fs.h>
159#include <linux/devfs_fs_kernel.h>
160#include <linux/delay.h> 159#include <linux/delay.h>
161#include <linux/slab.h> 160#include <linux/slab.h>
162#include <linux/mtio.h> 161#include <linux/mtio.h>
@@ -674,25 +673,15 @@ static int __init pg_init(void)
674 err = PTR_ERR(pg_class); 673 err = PTR_ERR(pg_class);
675 goto out_chrdev; 674 goto out_chrdev;
676 } 675 }
677 devfs_mk_dir("pg");
678 for (unit = 0; unit < PG_UNITS; unit++) { 676 for (unit = 0; unit < PG_UNITS; unit++) {
679 struct pg *dev = &devices[unit]; 677 struct pg *dev = &devices[unit];
680 if (dev->present) { 678 if (dev->present)
681 class_device_create(pg_class, NULL, MKDEV(major, unit), 679 class_device_create(pg_class, NULL, MKDEV(major, unit),
682 NULL, "pg%u", unit); 680 NULL, "pg%u", unit);
683 err = devfs_mk_cdev(MKDEV(major, unit),
684 S_IFCHR | S_IRUSR | S_IWUSR, "pg/%u",
685 unit);
686 if (err)
687 goto out_class;
688 }
689 } 681 }
690 err = 0; 682 err = 0;
691 goto out; 683 goto out;
692 684
693out_class:
694 class_device_destroy(pg_class, MKDEV(major, unit));
695 class_destroy(pg_class);
696out_chrdev: 685out_chrdev:
697 unregister_chrdev(major, "pg"); 686 unregister_chrdev(major, "pg");
698out: 687out:
@@ -705,13 +694,10 @@ static void __exit pg_exit(void)
705 694
706 for (unit = 0; unit < PG_UNITS; unit++) { 695 for (unit = 0; unit < PG_UNITS; unit++) {
707 struct pg *dev = &devices[unit]; 696 struct pg *dev = &devices[unit];
708 if (dev->present) { 697 if (dev->present)
709 class_device_destroy(pg_class, MKDEV(major, unit)); 698 class_device_destroy(pg_class, MKDEV(major, unit));
710 devfs_remove("pg/%u", unit);
711 }
712 } 699 }
713 class_destroy(pg_class); 700 class_destroy(pg_class);
714 devfs_remove("pg");
715 unregister_chrdev(major, name); 701 unregister_chrdev(major, name);
716 702
717 for (unit = 0; unit < PG_UNITS; unit++) { 703 for (unit = 0; unit < PG_UNITS; unit++) {
diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c
index d2013d362403..35fb26636721 100644
--- a/drivers/block/paride/pt.c
+++ b/drivers/block/paride/pt.c
@@ -141,7 +141,6 @@ static int (*drives[4])[6] = {&drive0, &drive1, &drive2, &drive3};
141#include <linux/module.h> 141#include <linux/module.h>
142#include <linux/init.h> 142#include <linux/init.h>
143#include <linux/fs.h> 143#include <linux/fs.h>
144#include <linux/devfs_fs_kernel.h>
145#include <linux/delay.h> 144#include <linux/delay.h>
146#include <linux/slab.h> 145#include <linux/slab.h>
147#include <linux/mtio.h> 146#include <linux/mtio.h>
@@ -971,32 +970,15 @@ static int __init pt_init(void)
971 goto out_chrdev; 970 goto out_chrdev;
972 } 971 }
973 972
974 devfs_mk_dir("pt");
975 for (unit = 0; unit < PT_UNITS; unit++) 973 for (unit = 0; unit < PT_UNITS; unit++)
976 if (pt[unit].present) { 974 if (pt[unit].present) {
977 class_device_create(pt_class, NULL, MKDEV(major, unit), 975 class_device_create(pt_class, NULL, MKDEV(major, unit),
978 NULL, "pt%d", unit); 976 NULL, "pt%d", unit);
979 err = devfs_mk_cdev(MKDEV(major, unit),
980 S_IFCHR | S_IRUSR | S_IWUSR,
981 "pt/%d", unit);
982 if (err) {
983 class_device_destroy(pt_class, MKDEV(major, unit));
984 goto out_class;
985 }
986 class_device_create(pt_class, NULL, MKDEV(major, unit + 128), 977 class_device_create(pt_class, NULL, MKDEV(major, unit + 128),
987 NULL, "pt%dn", unit); 978 NULL, "pt%dn", unit);
988 err = devfs_mk_cdev(MKDEV(major, unit + 128),
989 S_IFCHR | S_IRUSR | S_IWUSR,
990 "pt/%dn", unit);
991 if (err) {
992 class_device_destroy(pt_class, MKDEV(major, unit + 128));
993 goto out_class;
994 }
995 } 979 }
996 goto out; 980 goto out;
997 981
998out_class:
999 class_destroy(pt_class);
1000out_chrdev: 982out_chrdev:
1001 unregister_chrdev(major, "pt"); 983 unregister_chrdev(major, "pt");
1002out: 984out:
@@ -1009,12 +991,9 @@ static void __exit pt_exit(void)
1009 for (unit = 0; unit < PT_UNITS; unit++) 991 for (unit = 0; unit < PT_UNITS; unit++)
1010 if (pt[unit].present) { 992 if (pt[unit].present) {
1011 class_device_destroy(pt_class, MKDEV(major, unit)); 993 class_device_destroy(pt_class, MKDEV(major, unit));
1012 devfs_remove("pt/%d", unit);
1013 class_device_destroy(pt_class, MKDEV(major, unit + 128)); 994 class_device_destroy(pt_class, MKDEV(major, unit + 128));
1014 devfs_remove("pt/%dn", unit);
1015 } 995 }
1016 class_destroy(pt_class); 996 class_destroy(pt_class);
1017 devfs_remove("pt");
1018 unregister_chrdev(major, name); 997 unregister_chrdev(major, name);
1019 for (unit = 0; unit < PT_UNITS; unit++) 998 for (unit = 0; unit < PT_UNITS; unit++)
1020 if (pt[unit].present) 999 if (pt[unit].present)
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index a04f60693c39..3e4cce5e4736 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -2612,7 +2612,6 @@ static struct file_operations pkt_ctl_fops = {
2612static struct miscdevice pkt_misc = { 2612static struct miscdevice pkt_misc = {
2613 .minor = MISC_DYNAMIC_MINOR, 2613 .minor = MISC_DYNAMIC_MINOR,
2614 .name = "pktcdvd", 2614 .name = "pktcdvd",
2615 .devfs_name = "pktcdvd/control",
2616 .fops = &pkt_ctl_fops 2615 .fops = &pkt_ctl_fops
2617}; 2616};
2618 2617
diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c
index bea75f2cb211..a729013a3973 100644
--- a/drivers/block/ps2esdi.c
+++ b/drivers/block/ps2esdi.c
@@ -421,7 +421,6 @@ static int __init ps2esdi_geninit(void)
421 disk->major = PS2ESDI_MAJOR; 421 disk->major = PS2ESDI_MAJOR;
422 disk->first_minor = i<<6; 422 disk->first_minor = i<<6;
423 sprintf(disk->disk_name, "ed%c", 'a'+i); 423 sprintf(disk->disk_name, "ed%c", 'a'+i);
424 sprintf(disk->devfs_name, "ed/target%d", i);
425 disk->fops = &ps2esdi_fops; 424 disk->fops = &ps2esdi_fops;
426 ps2esdi_gendisk[i] = disk; 425 ps2esdi_gendisk[i] = disk;
427 } 426 }
diff --git a/drivers/block/rd.c b/drivers/block/rd.c
index 940bfd7951e5..a9e1c2524c2a 100644
--- a/drivers/block/rd.c
+++ b/drivers/block/rd.c
@@ -50,7 +50,6 @@
50#include <linux/module.h> 50#include <linux/module.h>
51#include <linux/moduleparam.h> 51#include <linux/moduleparam.h>
52#include <linux/init.h> 52#include <linux/init.h>
53#include <linux/devfs_fs_kernel.h>
54#include <linux/pagemap.h> 53#include <linux/pagemap.h>
55#include <linux/blkdev.h> 54#include <linux/blkdev.h>
56#include <linux/genhd.h> 55#include <linux/genhd.h>
@@ -191,7 +190,7 @@ static int ramdisk_set_page_dirty(struct page *page)
191 return 0; 190 return 0;
192} 191}
193 192
194static struct address_space_operations ramdisk_aops = { 193static const struct address_space_operations ramdisk_aops = {
195 .readpage = ramdisk_readpage, 194 .readpage = ramdisk_readpage,
196 .prepare_write = ramdisk_prepare_write, 195 .prepare_write = ramdisk_prepare_write,
197 .commit_write = ramdisk_commit_write, 196 .commit_write = ramdisk_commit_write,
@@ -412,7 +411,6 @@ static void __exit rd_cleanup(void)
412 put_disk(rd_disks[i]); 411 put_disk(rd_disks[i]);
413 blk_cleanup_queue(rd_queue[i]); 412 blk_cleanup_queue(rd_queue[i]);
414 } 413 }
415 devfs_remove("rd");
416 unregister_blkdev(RAMDISK_MAJOR, "ramdisk"); 414 unregister_blkdev(RAMDISK_MAJOR, "ramdisk");
417} 415}
418 416
@@ -442,8 +440,6 @@ static int __init rd_init(void)
442 goto out; 440 goto out;
443 } 441 }
444 442
445 devfs_mk_dir("rd");
446
447 for (i = 0; i < CONFIG_BLK_DEV_RAM_COUNT; i++) { 443 for (i = 0; i < CONFIG_BLK_DEV_RAM_COUNT; i++) {
448 struct gendisk *disk = rd_disks[i]; 444 struct gendisk *disk = rd_disks[i];
449 445
@@ -461,7 +457,6 @@ static int __init rd_init(void)
461 disk->queue = rd_queue[i]; 457 disk->queue = rd_queue[i];
462 disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO; 458 disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO;
463 sprintf(disk->disk_name, "ram%d", i); 459 sprintf(disk->disk_name, "ram%d", i);
464 sprintf(disk->devfs_name, "rd/%d", i);
465 set_capacity(disk, rd_size * 2); 460 set_capacity(disk, rd_size * 2);
466 add_disk(rd_disks[i]); 461 add_disk(rd_disks[i]);
467 } 462 }
diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index 01f042f6f1c4..628877945f9b 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -25,7 +25,6 @@
25#include <linux/fd.h> 25#include <linux/fd.h>
26#include <linux/ioctl.h> 26#include <linux/ioctl.h>
27#include <linux/blkdev.h> 27#include <linux/blkdev.h>
28#include <linux/devfs_fs_kernel.h>
29#include <linux/interrupt.h> 28#include <linux/interrupt.h>
30#include <linux/module.h> 29#include <linux/module.h>
31#include <linux/spinlock.h> 30#include <linux/spinlock.h>
@@ -1019,8 +1018,6 @@ int swim3_init(void)
1019 int err = -ENOMEM; 1018 int err = -ENOMEM;
1020 int i; 1019 int i;
1021 1020
1022 devfs_mk_dir("floppy");
1023
1024 swim = find_devices("floppy"); 1021 swim = find_devices("floppy");
1025 while (swim && (floppy_count < MAX_FLOPPIES)) 1022 while (swim && (floppy_count < MAX_FLOPPIES))
1026 { 1023 {
@@ -1064,7 +1061,6 @@ int swim3_init(void)
1064 disk->queue = swim3_queue; 1061 disk->queue = swim3_queue;
1065 disk->flags |= GENHD_FL_REMOVABLE; 1062 disk->flags |= GENHD_FL_REMOVABLE;
1066 sprintf(disk->disk_name, "fd%d", i); 1063 sprintf(disk->disk_name, "fd%d", i);
1067 sprintf(disk->devfs_name, "floppy/%d", i);
1068 set_capacity(disk, 2880); 1064 set_capacity(disk, 2880);
1069 add_disk(disk); 1065 add_disk(disk);
1070 } 1066 }
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c
index 2ae08b343b93..10a4aa5fb54d 100644
--- a/drivers/block/sx8.c
+++ b/drivers/block/sx8.c
@@ -18,7 +18,6 @@
18#include <linux/spinlock.h> 18#include <linux/spinlock.h>
19#include <linux/blkdev.h> 19#include <linux/blkdev.h>
20#include <linux/sched.h> 20#include <linux/sched.h>
21#include <linux/devfs_fs_kernel.h>
22#include <linux/interrupt.h> 21#include <linux/interrupt.h>
23#include <linux/compiler.h> 22#include <linux/compiler.h>
24#include <linux/workqueue.h> 23#include <linux/workqueue.h>
@@ -1510,7 +1509,6 @@ static int carm_init_disks(struct carm_host *host)
1510 port->disk = disk; 1509 port->disk = disk;
1511 sprintf(disk->disk_name, DRV_NAME "/%u", 1510 sprintf(disk->disk_name, DRV_NAME "/%u",
1512 (unsigned int) (host->id * CARM_MAX_PORTS) + i); 1511 (unsigned int) (host->id * CARM_MAX_PORTS) + i);
1513 sprintf(disk->devfs_name, DRV_NAME "/%u_%u", host->id, i);
1514 disk->major = host->major; 1512 disk->major = host->major;
1515 disk->first_minor = i * CARM_MINORS_PER_MAJOR; 1513 disk->first_minor = i * CARM_MINORS_PER_MAJOR;
1516 disk->fops = &carm_bd_ops; 1514 disk->fops = &carm_bd_ops;
@@ -1672,8 +1670,6 @@ static int carm_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
1672 if (host->flags & FL_DYN_MAJOR) 1670 if (host->flags & FL_DYN_MAJOR)
1673 host->major = rc; 1671 host->major = rc;
1674 1672
1675 devfs_mk_dir(DRV_NAME);
1676
1677 rc = carm_init_disks(host); 1673 rc = carm_init_disks(host);
1678 if (rc) 1674 if (rc)
1679 goto err_out_blkdev_disks; 1675 goto err_out_blkdev_disks;
@@ -1694,9 +1690,10 @@ static int carm_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
1694 DPRINTK("waiting for probe_comp\n"); 1690 DPRINTK("waiting for probe_comp\n");
1695 wait_for_completion(&host->probe_comp); 1691 wait_for_completion(&host->probe_comp);
1696 1692
1697 printk(KERN_INFO "%s: pci %s, ports %d, io %lx, irq %u, major %d\n", 1693 printk(KERN_INFO "%s: pci %s, ports %d, io %llx, irq %u, major %d\n",
1698 host->name, pci_name(pdev), (int) CARM_MAX_PORTS, 1694 host->name, pci_name(pdev), (int) CARM_MAX_PORTS,
1699 pci_resource_start(pdev, 0), pdev->irq, host->major); 1695 (unsigned long long)pci_resource_start(pdev, 0),
1696 pdev->irq, host->major);
1700 1697
1701 carm_host_id++; 1698 carm_host_id++;
1702 pci_set_drvdata(pdev, host); 1699 pci_set_drvdata(pdev, host);
@@ -1738,7 +1735,6 @@ static void carm_remove_one (struct pci_dev *pdev)
1738 1735
1739 free_irq(pdev->irq, host); 1736 free_irq(pdev->irq, host);
1740 carm_free_disks(host); 1737 carm_free_disks(host);
1741 devfs_remove(DRV_NAME);
1742 unregister_blkdev(host->major, host->name); 1738 unregister_blkdev(host->major, host->name);
1743 if (host->major == 160) 1739 if (host->major == 160)
1744 clear_bit(0, &carm_major_alloc); 1740 clear_bit(0, &carm_major_alloc);
diff --git a/drivers/block/ub.c b/drivers/block/ub.c
index 60e9a9457c6b..d62b49fbf10c 100644
--- a/drivers/block/ub.c
+++ b/drivers/block/ub.c
@@ -24,12 +24,10 @@
24#include <linux/usb.h> 24#include <linux/usb.h>
25#include <linux/usb_usual.h> 25#include <linux/usb_usual.h>
26#include <linux/blkdev.h> 26#include <linux/blkdev.h>
27#include <linux/devfs_fs_kernel.h>
28#include <linux/timer.h> 27#include <linux/timer.h>
29#include <scsi/scsi.h> 28#include <scsi/scsi.h>
30 29
31#define DRV_NAME "ub" 30#define DRV_NAME "ub"
32#define DEVFS_NAME DRV_NAME
33 31
34#define UB_MAJOR 180 32#define UB_MAJOR 180
35 33
@@ -2291,7 +2289,6 @@ static int ub_probe_lun(struct ub_dev *sc, int lnum)
2291 goto err_diskalloc; 2289 goto err_diskalloc;
2292 2290
2293 sprintf(disk->disk_name, DRV_NAME "%c", lun->id + 'a'); 2291 sprintf(disk->disk_name, DRV_NAME "%c", lun->id + 'a');
2294 sprintf(disk->devfs_name, DEVFS_NAME "/%c", lun->id + 'a');
2295 disk->major = UB_MAJOR; 2292 disk->major = UB_MAJOR;
2296 disk->first_minor = lun->id * UB_PARTS_PER_LUN; 2293 disk->first_minor = lun->id * UB_PARTS_PER_LUN;
2297 disk->fops = &ub_bd_fops; 2294 disk->fops = &ub_bd_fops;
@@ -2445,7 +2442,6 @@ static int __init ub_init(void)
2445 2442
2446 if ((rc = register_blkdev(UB_MAJOR, DRV_NAME)) != 0) 2443 if ((rc = register_blkdev(UB_MAJOR, DRV_NAME)) != 0)
2447 goto err_regblkdev; 2444 goto err_regblkdev;
2448 devfs_mk_dir(DEVFS_NAME);
2449 2445
2450 if ((rc = usb_register(&ub_driver)) != 0) 2446 if ((rc = usb_register(&ub_driver)) != 0)
2451 goto err_register; 2447 goto err_register;
@@ -2454,7 +2450,6 @@ static int __init ub_init(void)
2454 return 0; 2450 return 0;
2455 2451
2456err_register: 2452err_register:
2457 devfs_remove(DEVFS_NAME);
2458 unregister_blkdev(UB_MAJOR, DRV_NAME); 2453 unregister_blkdev(UB_MAJOR, DRV_NAME);
2459err_regblkdev: 2454err_regblkdev:
2460 return rc; 2455 return rc;
@@ -2464,7 +2459,6 @@ static void __exit ub_exit(void)
2464{ 2459{
2465 usb_deregister(&ub_driver); 2460 usb_deregister(&ub_driver);
2466 2461
2467 devfs_remove(DEVFS_NAME);
2468 unregister_blkdev(UB_MAJOR, DRV_NAME); 2462 unregister_blkdev(UB_MAJOR, DRV_NAME);
2469 usb_usual_clear_present(USB_US_TYPE_UB); 2463 usb_usual_clear_present(USB_US_TYPE_UB);
2470} 2464}
diff --git a/drivers/block/umem.c b/drivers/block/umem.c
index f7d4c65a7b8c..585197b95af7 100644
--- a/drivers/block/umem.c
+++ b/drivers/block/umem.c
@@ -1192,7 +1192,6 @@ static int __init mm_init(void)
1192 for (i = 0; i < num_cards; i++) { 1192 for (i = 0; i < num_cards; i++) {
1193 struct gendisk *disk = mm_gendisk[i]; 1193 struct gendisk *disk = mm_gendisk[i];
1194 sprintf(disk->disk_name, "umem%c", 'a'+i); 1194 sprintf(disk->disk_name, "umem%c", 'a'+i);
1195 sprintf(disk->devfs_name, "umem/card%d", i);
1196 spin_lock_init(&cards[i].lock); 1195 spin_lock_init(&cards[i].lock);
1197 disk->major = major_nr; 1196 disk->major = major_nr;
1198 disk->first_minor = i << MM_SHIFT; 1197 disk->first_minor = i << MM_SHIFT;
diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c
index b0df4f5ab97a..ec5a1b90a0a2 100644
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
@@ -59,7 +59,6 @@ MODULE_LICENSE("GPL");
59 * numbers 0-255 we get a maximum of 32 disks. 59 * numbers 0-255 we get a maximum of 32 disks.
60 */ 60 */
61#define VIOD_GENHD_NAME "iseries/vd" 61#define VIOD_GENHD_NAME "iseries/vd"
62#define VIOD_GENHD_DEVFS_NAME "iseries/disc"
63 62
64#define VIOD_VERS "1.64" 63#define VIOD_VERS "1.64"
65 64
@@ -523,8 +522,6 @@ retry:
523 else 522 else
524 snprintf(g->disk_name, sizeof(g->disk_name), 523 snprintf(g->disk_name, sizeof(g->disk_name),
525 VIOD_GENHD_NAME "%c", 'a' + (dev_no % 26)); 524 VIOD_GENHD_NAME "%c", 'a' + (dev_no % 26));
526 snprintf(g->devfs_name, sizeof(g->devfs_name),
527 "%s%d", VIOD_GENHD_DEVFS_NAME, dev_no);
528 g->fops = &viodasd_fops; 525 g->fops = &viodasd_fops;
529 g->queue = q; 526 g->queue = q;
530 g->private_data = d; 527 g->private_data = d;
diff --git a/drivers/block/xd.c b/drivers/block/xd.c
index cbce7c5e9445..e828e4cbd3e1 100644
--- a/drivers/block/xd.c
+++ b/drivers/block/xd.c
@@ -215,7 +215,6 @@ static int __init xd_init(void)
215 disk->major = XT_DISK_MAJOR; 215 disk->major = XT_DISK_MAJOR;
216 disk->first_minor = i<<6; 216 disk->first_minor = i<<6;
217 sprintf(disk->disk_name, "xd%c", i+'a'); 217 sprintf(disk->disk_name, "xd%c", i+'a');
218 sprintf(disk->devfs_name, "xd/target%d", i);
219 disk->fops = &xd_fops; 218 disk->fops = &xd_fops;
220 disk->private_data = p; 219 disk->private_data = p;
221 disk->queue = xd_queue; 220 disk->queue = xd_queue;
diff --git a/drivers/block/z2ram.c b/drivers/block/z2ram.c
index bb5e8d665a2a..82ddbdd7bd4b 100644
--- a/drivers/block/z2ram.c
+++ b/drivers/block/z2ram.c
@@ -354,7 +354,6 @@ z2_init(void)
354 z2ram_gendisk->first_minor = 0; 354 z2ram_gendisk->first_minor = 0;
355 z2ram_gendisk->fops = &z2_fops; 355 z2ram_gendisk->fops = &z2_fops;
356 sprintf(z2ram_gendisk->disk_name, "z2ram"); 356 sprintf(z2ram_gendisk->disk_name, "z2ram");
357 strcpy(z2ram_gendisk->devfs_name, z2ram_gendisk->disk_name);
358 357
359 z2ram_gendisk->queue = z2_queue; 358 z2ram_gendisk->queue = z2_queue;
360 add_disk(z2ram_gendisk); 359 add_disk(z2ram_gendisk);