aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-06-29 17:19:21 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-29 17:19:21 -0400
commit602cada851b28c5792339786efe872fbdc1f5d41 (patch)
tree233d474b74d6038b5bb54a07ad91dd1bb10b0218 /drivers
parent82991c6f2c361acc17279b8124d9bf1878973435 (diff)
parentfee68d1cc0d9bd863e51c16cdcd707737b16bb38 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6: (22 commits) [PATCH] devfs: Remove it from the feature_removal.txt file [PATCH] devfs: Last little devfs cleanups throughout the kernel tree. [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV [PATCH] devfs: Remove the tty_driver devfs_name field as it's no longer needed [PATCH] devfs: Remove the line_driver devfs_name field as it's no longer needed [PATCH] devfs: Remove the videodevice devfs_name field as it's no longer needed [PATCH] devfs: Remove the gendisk devfs_name field as it's no longer needed [PATCH] devfs: Remove the miscdevice devfs_name field as it's no longer needed [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree [PATCH] devfs: Remove devfs_remove() function from the kernel tree [PATCH] devfs: Remove devfs_mk_cdev() function from the kernel tree [PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree [PATCH] devfs: Remove devfs_mk_symlink() function from the kernel tree [PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree [PATCH] devfs: Remove devfs_*_tape() functions from the kernel tree [PATCH] devfs: Remove devfs support from the sound subsystem [PATCH] devfs: Remove devfs support from the ide subsystem. [PATCH] devfs: Remove devfs support from the serial subsystem [PATCH] devfs: Remove devfs from the init code [PATCH] devfs: Remove devfs from the partition code ...
Diffstat (limited to 'drivers')
-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.c6
-rw-r--r--drivers/block/nbd.c5
-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.c5
-rw-r--r--drivers/block/swim3.c4
-rw-r--r--drivers/block/sx8.c5
-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
-rw-r--r--drivers/cdrom/aztcd.c1
-rw-r--r--drivers/cdrom/cdu31a.c1
-rw-r--r--drivers/cdrom/cm206.c1
-rw-r--r--drivers/cdrom/gscd.c1
-rw-r--r--drivers/cdrom/mcdx.c1
-rw-r--r--drivers/cdrom/optcd.c1
-rw-r--r--drivers/cdrom/sbpcd.c6
-rw-r--r--drivers/cdrom/sjcd.c1
-rw-r--r--drivers/cdrom/sonycd535.c1
-rw-r--r--drivers/cdrom/viocd.c3
-rw-r--r--drivers/char/cyclades.c1
-rw-r--r--drivers/char/dsp56k.c10
-rw-r--r--drivers/char/dtlk.c5
-rw-r--r--drivers/char/epca.c1
-rw-r--r--drivers/char/esp.c1
-rw-r--r--drivers/char/ftape/zftape/zftape-init.c25
-rw-r--r--drivers/char/hvc_console.c1
-rw-r--r--drivers/char/hvcs.c1
-rw-r--r--drivers/char/hvsi.c1
-rw-r--r--drivers/char/ip2/ip2main.c24
-rw-r--r--drivers/char/ipmi/ipmi_devintf.c8
-rw-r--r--drivers/char/isicom.c1
-rw-r--r--drivers/char/istallion.c13
-rw-r--r--drivers/char/lp.c7
-rw-r--r--drivers/char/mem.c6
-rw-r--r--drivers/char/misc.c15
-rw-r--r--drivers/char/mmtimer.c2
-rw-r--r--drivers/char/moxa.c1
-rw-r--r--drivers/char/ppdev.c15
-rw-r--r--drivers/char/pty.c8
-rw-r--r--drivers/char/raw.c15
-rw-r--r--drivers/char/riscom8.c1
-rw-r--r--drivers/char/rocket.c5
-rw-r--r--drivers/char/serial167.c1
-rw-r--r--drivers/char/stallion.c14
-rw-r--r--drivers/char/tipar.c17
-rw-r--r--drivers/char/tty_io.c17
-rw-r--r--drivers/char/vc_screen.c11
-rw-r--r--drivers/char/viocons.c1
-rw-r--r--drivers/char/viotape.c10
-rw-r--r--drivers/char/vme_scc.c1
-rw-r--r--drivers/char/vt.c2
-rw-r--r--drivers/ide/ide-cd.c2
-rw-r--r--drivers/ide/ide-disk.c2
-rw-r--r--drivers/ide/ide-floppy.c1
-rw-r--r--drivers/ide/ide-probe.c11
-rw-r--r--drivers/ide/ide-tape.c12
-rw-r--r--drivers/ide/ide.c10
-rw-r--r--drivers/input/serio/serio_raw.c1
-rw-r--r--drivers/isdn/capi/capi.c5
-rw-r--r--drivers/isdn/gigaset/bas-gigaset.c4
-rw-r--r--drivers/isdn/gigaset/common.c4
-rw-r--r--drivers/isdn/gigaset/gigaset.h3
-rw-r--r--drivers/isdn/gigaset/interface.c6
-rw-r--r--drivers/isdn/gigaset/usb-gigaset.c4
-rw-r--r--drivers/isdn/hardware/eicon/divamnt.c3
-rw-r--r--drivers/isdn/hardware/eicon/divasi.c3
-rw-r--r--drivers/isdn/hardware/eicon/divasmain.c3
-rw-r--r--drivers/isdn/i4l/isdn_tty.c3
-rw-r--r--drivers/macintosh/adb.c3
-rw-r--r--drivers/md/dm-ioctl.c30
-rw-r--r--drivers/md/dm.c2
-rw-r--r--drivers/md/md.c30
-rw-r--r--drivers/media/dvb/dvb-core/dvbdev.c13
-rw-r--r--drivers/media/dvb/dvb-core/dvbdev.h1
-rw-r--r--drivers/media/dvb/ttpci/av7110.h4
-rw-r--r--drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c11
-rw-r--r--drivers/media/radio/miropcm20-rds.c1
-rw-r--r--drivers/media/video/arv.c1
-rw-r--r--drivers/media/video/videodev.c8
-rw-r--r--drivers/message/i2o/i2o_block.c1
-rw-r--r--drivers/mmc/mmc_block.c4
-rw-r--r--drivers/net/ppp_generic.c9
-rw-r--r--drivers/net/tun.c1
-rw-r--r--drivers/net/wan/cosa.c14
-rw-r--r--drivers/s390/block/dasd.c4
-rw-r--r--drivers/s390/block/dasd_genhd.c2
-rw-r--r--drivers/s390/block/dasd_int.h1
-rw-r--r--drivers/s390/block/xpram.c6
-rw-r--r--drivers/s390/char/monreader.c1
-rw-r--r--drivers/s390/char/tty3270.c3
-rw-r--r--drivers/s390/crypto/z90main.c1
-rw-r--r--drivers/sbus/char/bpp.c9
-rw-r--r--drivers/sbus/char/vfc.h2
-rw-r--r--drivers/sbus/char/vfc_dev.c7
-rw-r--r--drivers/serial/21285.c1
-rw-r--r--drivers/serial/8250.c1
-rw-r--r--drivers/serial/at91_serial.c1
-rw-r--r--drivers/serial/crisv10.c2
-rw-r--r--drivers/serial/dz.c4
-rw-r--r--drivers/serial/imx.c1
-rw-r--r--drivers/serial/ip22zilog.c1
-rw-r--r--drivers/serial/m32r_sio.c1
-rw-r--r--drivers/serial/mcfserial.c1
-rw-r--r--drivers/serial/mpc52xx_uart.c1
-rw-r--r--drivers/serial/mpsc.c2
-rw-r--r--drivers/serial/pmac_zilog.c1
-rw-r--r--drivers/serial/pxa.c1
-rw-r--r--drivers/serial/s3c2410.c2
-rw-r--r--drivers/serial/sa1100.c1
-rw-r--r--drivers/serial/serial_core.c5
-rw-r--r--drivers/serial/serial_txx9.c3
-rw-r--r--drivers/serial/sh-sci.c3
-rw-r--r--drivers/serial/sunhv.c1
-rw-r--r--drivers/serial/sunsab.c1
-rw-r--r--drivers/serial/sunsu.c1
-rw-r--r--drivers/serial/sunzilog.c1
-rw-r--r--drivers/serial/v850e_uart.c1
-rw-r--r--drivers/serial/vr41xx_siu.c1
-rw-r--r--drivers/tc/zs.c3
-rw-r--r--drivers/telephony/phonedev.c4
-rw-r--r--drivers/usb/class/cdc-acm.c3
-rw-r--r--drivers/usb/gadget/serial.c3
-rw-r--r--drivers/usb/serial/usb-serial.c3
-rw-r--r--drivers/video/fbmem.c5
135 files changed, 42 insertions, 676 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 18dd026f470d..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>
@@ -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/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 0378da04cfa2..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>
@@ -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 8144ce9f4df0..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;
@@ -1739,7 +1735,6 @@ static void carm_remove_one (struct pci_dev *pdev)
1739 1735
1740 free_irq(pdev->irq, host); 1736 free_irq(pdev->irq, host);
1741 carm_free_disks(host); 1737 carm_free_disks(host);
1742 devfs_remove(DRV_NAME);
1743 unregister_blkdev(host->major, host->name); 1738 unregister_blkdev(host->major, host->name);
1744 if (host->major == 160) 1739 if (host->major == 160)
1745 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);
diff --git a/drivers/cdrom/aztcd.c b/drivers/cdrom/aztcd.c
index ec004897b634..ec469497c10f 100644
--- a/drivers/cdrom/aztcd.c
+++ b/drivers/cdrom/aztcd.c
@@ -1918,7 +1918,6 @@ static int __init aztcd_init(void)
1918 azt_disk->first_minor = 0; 1918 azt_disk->first_minor = 0;
1919 azt_disk->fops = &azt_fops; 1919 azt_disk->fops = &azt_fops;
1920 sprintf(azt_disk->disk_name, "aztcd"); 1920 sprintf(azt_disk->disk_name, "aztcd");
1921 sprintf(azt_disk->devfs_name, "aztcd");
1922 azt_disk->queue = azt_queue; 1921 azt_disk->queue = azt_queue;
1923 add_disk(azt_disk); 1922 add_disk(azt_disk);
1924 azt_invalidate_buffers(); 1923 azt_invalidate_buffers();
diff --git a/drivers/cdrom/cdu31a.c b/drivers/cdrom/cdu31a.c
index 72ffd64e8b1e..5f0f2027f29e 100644
--- a/drivers/cdrom/cdu31a.c
+++ b/drivers/cdrom/cdu31a.c
@@ -161,7 +161,6 @@
161#include <linux/hdreg.h> 161#include <linux/hdreg.h>
162#include <linux/genhd.h> 162#include <linux/genhd.h>
163#include <linux/ioport.h> 163#include <linux/ioport.h>
164#include <linux/devfs_fs_kernel.h>
165#include <linux/string.h> 164#include <linux/string.h>
166#include <linux/slab.h> 165#include <linux/slab.h>
167#include <linux/init.h> 166#include <linux/init.h>
diff --git a/drivers/cdrom/cm206.c b/drivers/cdrom/cm206.c
index f43a988dd413..4ee288688fed 100644
--- a/drivers/cdrom/cm206.c
+++ b/drivers/cdrom/cm206.c
@@ -187,7 +187,6 @@ History:
187#include <linux/interrupt.h> 187#include <linux/interrupt.h>
188#include <linux/timer.h> 188#include <linux/timer.h>
189#include <linux/cdrom.h> 189#include <linux/cdrom.h>
190#include <linux/devfs_fs_kernel.h>
191#include <linux/ioport.h> 190#include <linux/ioport.h>
192#include <linux/mm.h> 191#include <linux/mm.h>
193#include <linux/slab.h> 192#include <linux/slab.h>
diff --git a/drivers/cdrom/gscd.c b/drivers/cdrom/gscd.c
index ad5464ab99bc..b6ee50a2916d 100644
--- a/drivers/cdrom/gscd.c
+++ b/drivers/cdrom/gscd.c
@@ -955,7 +955,6 @@ static int __init gscd_init(void)
955 gscd_disk->first_minor = 0; 955 gscd_disk->first_minor = 0;
956 gscd_disk->fops = &gscd_fops; 956 gscd_disk->fops = &gscd_fops;
957 sprintf(gscd_disk->disk_name, "gscd"); 957 sprintf(gscd_disk->disk_name, "gscd");
958 sprintf(gscd_disk->devfs_name, "gscd");
959 958
960 if (register_blkdev(MAJOR_NR, "gscd")) { 959 if (register_blkdev(MAJOR_NR, "gscd")) {
961 ret = -EIO; 960 ret = -EIO;
diff --git a/drivers/cdrom/mcdx.c b/drivers/cdrom/mcdx.c
index 0f6e7aab8d2c..788c7a0b2fe3 100644
--- a/drivers/cdrom/mcdx.c
+++ b/drivers/cdrom/mcdx.c
@@ -74,7 +74,6 @@ static const char *mcdx_c_version
74#include <linux/major.h> 74#include <linux/major.h>
75#define MAJOR_NR MITSUMI_X_CDROM_MAJOR 75#define MAJOR_NR MITSUMI_X_CDROM_MAJOR
76#include <linux/blkdev.h> 76#include <linux/blkdev.h>
77#include <linux/devfs_fs_kernel.h>
78 77
79#include "mcdx.h" 78#include "mcdx.h"
80 79
diff --git a/drivers/cdrom/optcd.c b/drivers/cdrom/optcd.c
index 0b0eab4f40fa..25032d7edc55 100644
--- a/drivers/cdrom/optcd.c
+++ b/drivers/cdrom/optcd.c
@@ -2033,7 +2033,6 @@ static int __init optcd_init(void)
2033 optcd_disk->first_minor = 0; 2033 optcd_disk->first_minor = 0;
2034 optcd_disk->fops = &opt_fops; 2034 optcd_disk->fops = &opt_fops;
2035 sprintf(optcd_disk->disk_name, "optcd"); 2035 sprintf(optcd_disk->disk_name, "optcd");
2036 sprintf(optcd_disk->devfs_name, "optcd");
2037 2036
2038 if (!request_region(optcd_port, 4, "optcd")) { 2037 if (!request_region(optcd_port, 4, "optcd")) {
2039 printk(KERN_ERR "optcd: conflict, I/O port 0x%x already used\n", 2038 printk(KERN_ERR "optcd: conflict, I/O port 0x%x already used\n",
diff --git a/drivers/cdrom/sbpcd.c b/drivers/cdrom/sbpcd.c
index 05c9e865ecaf..2fc966c65a0e 100644
--- a/drivers/cdrom/sbpcd.c
+++ b/drivers/cdrom/sbpcd.c
@@ -371,7 +371,6 @@
371#include <linux/kernel.h> 371#include <linux/kernel.h>
372#include <linux/cdrom.h> 372#include <linux/cdrom.h>
373#include <linux/ioport.h> 373#include <linux/ioport.h>
374#include <linux/devfs_fs_kernel.h>
375#include <linux/major.h> 374#include <linux/major.h>
376#include <linux/string.h> 375#include <linux/string.h>
377#include <linux/vmalloc.h> 376#include <linux/vmalloc.h>
@@ -5808,8 +5807,6 @@ int __init sbpcd_init(void)
5808 return -ENOMEM; 5807 return -ENOMEM;
5809 } 5808 }
5810 5809
5811 devfs_mk_dir("sbp");
5812
5813 for (j=0;j<NR_SBPCD;j++) 5810 for (j=0;j<NR_SBPCD;j++)
5814 { 5811 {
5815 struct cdrom_device_info * sbpcd_infop; 5812 struct cdrom_device_info * sbpcd_infop;
@@ -5871,7 +5868,6 @@ int __init sbpcd_init(void)
5871 disk->fops = &sbpcd_bdops; 5868 disk->fops = &sbpcd_bdops;
5872 strcpy(disk->disk_name, sbpcd_infop->name); 5869 strcpy(disk->disk_name, sbpcd_infop->name);
5873 disk->flags = GENHD_FL_CD; 5870 disk->flags = GENHD_FL_CD;
5874 sprintf(disk->devfs_name, "sbp/c0t%d", p->drv_id);
5875 p->disk = disk; 5871 p->disk = disk;
5876 if (register_cdrom(sbpcd_infop)) 5872 if (register_cdrom(sbpcd_infop))
5877 { 5873 {
@@ -5906,7 +5902,6 @@ static void sbpcd_exit(void)
5906 if (D_S[j].drv_id==-1) continue; 5902 if (D_S[j].drv_id==-1) continue;
5907 del_gendisk(D_S[j].disk); 5903 del_gendisk(D_S[j].disk);
5908 put_disk(D_S[j].disk); 5904 put_disk(D_S[j].disk);
5909 devfs_remove("sbp/c0t%d", j);
5910 vfree(D_S[j].sbp_buf); 5905 vfree(D_S[j].sbp_buf);
5911 if (D_S[j].sbp_audsiz>0) 5906 if (D_S[j].sbp_audsiz>0)
5912 vfree(D_S[j].aud_buf); 5907 vfree(D_S[j].aud_buf);
@@ -5917,7 +5912,6 @@ static void sbpcd_exit(void)
5917 } 5912 }
5918 vfree(D_S[j].sbpcd_infop); 5913 vfree(D_S[j].sbpcd_infop);
5919 } 5914 }
5920 devfs_remove("sbp");
5921 msg(DBG_INF, "%s module released.\n", major_name); 5915 msg(DBG_INF, "%s module released.\n", major_name);
5922} 5916}
5923 5917
diff --git a/drivers/cdrom/sjcd.c b/drivers/cdrom/sjcd.c
index 74b1cadbf161..bf5aef4e555b 100644
--- a/drivers/cdrom/sjcd.c
+++ b/drivers/cdrom/sjcd.c
@@ -1695,7 +1695,6 @@ static int __init sjcd_init(void)
1695 sjcd_disk->first_minor = 0, 1695 sjcd_disk->first_minor = 0,
1696 sjcd_disk->fops = &sjcd_fops, 1696 sjcd_disk->fops = &sjcd_fops,
1697 sprintf(sjcd_disk->disk_name, "sjcd"); 1697 sprintf(sjcd_disk->disk_name, "sjcd");
1698 sprintf(sjcd_disk->devfs_name, "sjcd");
1699 1698
1700 if (!request_region(sjcd_base, 4,"sjcd")) { 1699 if (!request_region(sjcd_base, 4,"sjcd")) {
1701 printk 1700 printk
diff --git a/drivers/cdrom/sonycd535.c b/drivers/cdrom/sonycd535.c
index e65659926432..8f7cc452af8d 100644
--- a/drivers/cdrom/sonycd535.c
+++ b/drivers/cdrom/sonycd535.c
@@ -1589,7 +1589,6 @@ static int __init sony535_init(void)
1589 cdu_disk->first_minor = 0; 1589 cdu_disk->first_minor = 0;
1590 cdu_disk->fops = &cdu_fops; 1590 cdu_disk->fops = &cdu_fops;
1591 sprintf(cdu_disk->disk_name, "cdu"); 1591 sprintf(cdu_disk->disk_name, "cdu");
1592 sprintf(cdu_disk->devfs_name, "cdu535");
1593 1592
1594 if (!request_region(sony535_cd_base_io, 4, CDU535_HANDLE)) { 1593 if (!request_region(sony535_cd_base_io, 4, CDU535_HANDLE)) {
1595 printk(KERN_WARNING"sonycd535: Unable to request region 0x%x\n", 1594 printk(KERN_WARNING"sonycd535: Unable to request region 0x%x\n",
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c
index af6b3bfd169b..54ca931e19ea 100644
--- a/drivers/cdrom/viocd.c
+++ b/drivers/cdrom/viocd.c
@@ -49,7 +49,6 @@
49#include <asm/iseries/vio.h> 49#include <asm/iseries/vio.h>
50 50
51#define VIOCD_DEVICE "iseries/vcd" 51#define VIOCD_DEVICE "iseries/vcd"
52#define VIOCD_DEVICE_DEVFS "iseries/vcd"
53 52
54#define VIOCD_VERS "1.06" 53#define VIOCD_VERS "1.06"
55 54
@@ -688,8 +687,6 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id)
688 gendisk->first_minor = deviceno; 687 gendisk->first_minor = deviceno;
689 strncpy(gendisk->disk_name, c->name, 688 strncpy(gendisk->disk_name, c->name,
690 sizeof(gendisk->disk_name)); 689 sizeof(gendisk->disk_name));
691 snprintf(gendisk->devfs_name, sizeof(gendisk->devfs_name),
692 VIOCD_DEVICE_DEVFS "%d", deviceno);
693 blk_queue_max_hw_segments(q, 1); 690 blk_queue_max_hw_segments(q, 1);
694 blk_queue_max_phys_segments(q, 1); 691 blk_queue_max_phys_segments(q, 1);
695 blk_queue_max_sectors(q, 4096 / 512); 692 blk_queue_max_sectors(q, 4096 / 512);
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 122e7a72a4e1..2657eeba7da6 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -5250,7 +5250,6 @@ cy_init(void)
5250 cy_serial_driver->owner = THIS_MODULE; 5250 cy_serial_driver->owner = THIS_MODULE;
5251 cy_serial_driver->driver_name = "cyclades"; 5251 cy_serial_driver->driver_name = "cyclades";
5252 cy_serial_driver->name = "ttyC"; 5252 cy_serial_driver->name = "ttyC";
5253 cy_serial_driver->devfs_name = "tts/C";
5254 cy_serial_driver->major = CYCLADES_MAJOR; 5253 cy_serial_driver->major = CYCLADES_MAJOR;
5255 cy_serial_driver->minor_start = 0; 5254 cy_serial_driver->minor_start = 0;
5256 cy_serial_driver->type = TTY_DRIVER_TYPE_SERIAL; 5255 cy_serial_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/dsp56k.c b/drivers/char/dsp56k.c
index e233cf280bc0..09b413618b57 100644
--- a/drivers/char/dsp56k.c
+++ b/drivers/char/dsp56k.c
@@ -33,7 +33,6 @@
33#include <linux/fs.h> 33#include <linux/fs.h>
34#include <linux/mm.h> 34#include <linux/mm.h>
35#include <linux/init.h> 35#include <linux/init.h>
36#include <linux/devfs_fs_kernel.h>
37#include <linux/smp_lock.h> 36#include <linux/smp_lock.h>
38#include <linux/device.h> 37#include <linux/device.h>
39 38
@@ -518,17 +517,9 @@ static int __init dsp56k_init_driver(void)
518 } 517 }
519 class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k"); 518 class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k");
520 519
521 err = devfs_mk_cdev(MKDEV(DSP56K_MAJOR, 0),
522 S_IFCHR | S_IRUSR | S_IWUSR, "dsp56k");
523 if(err)
524 goto out_class;
525
526 printk(banner); 520 printk(banner);
527 goto out; 521 goto out;
528 522
529out_class:
530 class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
531 class_destroy(dsp56k_class);
532out_chrdev: 523out_chrdev:
533 unregister_chrdev(DSP56K_MAJOR, "dsp56k"); 524 unregister_chrdev(DSP56K_MAJOR, "dsp56k");
534out: 525out:
@@ -541,7 +532,6 @@ static void __exit dsp56k_cleanup_driver(void)
541 class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0)); 532 class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
542 class_destroy(dsp56k_class); 533 class_destroy(dsp56k_class);
543 unregister_chrdev(DSP56K_MAJOR, "dsp56k"); 534 unregister_chrdev(DSP56K_MAJOR, "dsp56k");
544 devfs_remove("dsp56k");
545} 535}
546module_exit(dsp56k_cleanup_driver); 536module_exit(dsp56k_cleanup_driver);
547 537
diff --git a/drivers/char/dtlk.c b/drivers/char/dtlk.c
index 87dcaa237f07..da2c89f1b8bc 100644
--- a/drivers/char/dtlk.c
+++ b/drivers/char/dtlk.c
@@ -62,7 +62,6 @@
62#include <linux/init.h> /* for __init, module_{init,exit} */ 62#include <linux/init.h> /* for __init, module_{init,exit} */
63#include <linux/poll.h> /* for POLLIN, etc. */ 63#include <linux/poll.h> /* for POLLIN, etc. */
64#include <linux/dtlk.h> /* local header file for DoubleTalk values */ 64#include <linux/dtlk.h> /* local header file for DoubleTalk values */
65#include <linux/devfs_fs_kernel.h>
66#include <linux/smp_lock.h> 65#include <linux/smp_lock.h>
67 66
68#ifdef TRACING 67#ifdef TRACING
@@ -337,9 +336,6 @@ static int __init dtlk_init(void)
337 if (dtlk_dev_probe() == 0) 336 if (dtlk_dev_probe() == 0)
338 printk(", MAJOR %d\n", dtlk_major); 337 printk(", MAJOR %d\n", dtlk_major);
339 338
340 devfs_mk_cdev(MKDEV(dtlk_major, DTLK_MINOR),
341 S_IFCHR | S_IRUSR | S_IWUSR, "dtlk");
342
343 init_timer(&dtlk_timer); 339 init_timer(&dtlk_timer);
344 dtlk_timer.function = dtlk_timer_tick; 340 dtlk_timer.function = dtlk_timer_tick;
345 init_waitqueue_head(&dtlk_process_list); 341 init_waitqueue_head(&dtlk_process_list);
@@ -357,7 +353,6 @@ static void __exit dtlk_cleanup (void)
357 353
358 dtlk_write_tts(DTLK_CLEAR); 354 dtlk_write_tts(DTLK_CLEAR);
359 unregister_chrdev(dtlk_major, "dtlk"); 355 unregister_chrdev(dtlk_major, "dtlk");
360 devfs_remove("dtlk");
361 release_region(dtlk_port_lpc, DTLK_IO_EXTENT); 356 release_region(dtlk_port_lpc, DTLK_IO_EXTENT);
362} 357}
363 358
diff --git a/drivers/char/epca.c b/drivers/char/epca.c
index dc0602ae8503..d0b3890d9302 100644
--- a/drivers/char/epca.c
+++ b/drivers/char/epca.c
@@ -1232,7 +1232,6 @@ static int __init pc_init(void)
1232 1232
1233 pc_driver->owner = THIS_MODULE; 1233 pc_driver->owner = THIS_MODULE;
1234 pc_driver->name = "ttyD"; 1234 pc_driver->name = "ttyD";
1235 pc_driver->devfs_name = "tts/D";
1236 pc_driver->major = DIGI_MAJOR; 1235 pc_driver->major = DIGI_MAJOR;
1237 pc_driver->minor_start = 0; 1236 pc_driver->minor_start = 0;
1238 pc_driver->type = TTY_DRIVER_TYPE_SERIAL; 1237 pc_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/esp.c b/drivers/char/esp.c
index 922174d527ae..9827d170ca17 100644
--- a/drivers/char/esp.c
+++ b/drivers/char/esp.c
@@ -2449,7 +2449,6 @@ static int __init espserial_init(void)
2449 2449
2450 esp_driver->owner = THIS_MODULE; 2450 esp_driver->owner = THIS_MODULE;
2451 esp_driver->name = "ttyP"; 2451 esp_driver->name = "ttyP";
2452 esp_driver->devfs_name = "tts/P";
2453 esp_driver->major = ESP_IN_MAJOR; 2452 esp_driver->major = ESP_IN_MAJOR;
2454 esp_driver->minor_start = 0; 2453 esp_driver->minor_start = 0;
2455 esp_driver->type = TTY_DRIVER_TYPE_SERIAL; 2454 esp_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/ftape/zftape/zftape-init.c b/drivers/char/ftape/zftape/zftape-init.c
index 821357ce7e0e..3eeb869a9a11 100644
--- a/drivers/char/ftape/zftape/zftape-init.c
+++ b/drivers/char/ftape/zftape/zftape-init.c
@@ -33,7 +33,6 @@
33#endif 33#endif
34#include <linux/fcntl.h> 34#include <linux/fcntl.h>
35#include <linux/smp_lock.h> 35#include <linux/smp_lock.h>
36#include <linux/devfs_fs_kernel.h>
37 36
38#include <linux/zftape.h> 37#include <linux/zftape.h>
39#include <linux/init.h> 38#include <linux/init.h>
@@ -332,29 +331,11 @@ KERN_INFO
332 zft_class = class_create(THIS_MODULE, "zft"); 331 zft_class = class_create(THIS_MODULE, "zft");
333 for (i = 0; i < 4; i++) { 332 for (i = 0; i < 4; i++) {
334 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i); 333 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i);
335 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i),
336 S_IFCHR | S_IRUSR | S_IWUSR,
337 "qft%i", i);
338 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i); 334 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i);
339 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 4),
340 S_IFCHR | S_IRUSR | S_IWUSR,
341 "nqft%i", i);
342 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i); 335 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i);
343 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 16),
344 S_IFCHR | S_IRUSR | S_IWUSR,
345 "zqft%i", i);
346 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i); 336 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i);
347 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 20),
348 S_IFCHR | S_IRUSR | S_IWUSR,
349 "nzqft%i", i);
350 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i); 337 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i);
351 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 32),
352 S_IFCHR | S_IRUSR | S_IWUSR,
353 "rawqft%i", i);
354 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i); 338 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i);
355 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 36),
356 S_IFCHR | S_IRUSR | S_IWUSR,
357 "nrawqft%i", i);
358 } 339 }
359 340
360#ifdef CONFIG_ZFT_COMPRESSOR 341#ifdef CONFIG_ZFT_COMPRESSOR
@@ -380,17 +361,11 @@ static void zft_exit(void)
380 TRACE(ft_t_info, "successful"); 361 TRACE(ft_t_info, "successful");
381 } 362 }
382 for (i = 0; i < 4; i++) { 363 for (i = 0; i < 4; i++) {
383 devfs_remove("qft%i", i);
384 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i)); 364 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i));
385 devfs_remove("nqft%i", i);
386 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4)); 365 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4));
387 devfs_remove("zqft%i", i);
388 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16)); 366 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16));
389 devfs_remove("nzqft%i", i);
390 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20)); 367 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20));
391 devfs_remove("rawqft%i", i);
392 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32)); 368 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32));
393 devfs_remove("nrawqft%i", i);
394 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36)); 369 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36));
395 } 370 }
396 class_destroy(zft_class); 371 class_destroy(zft_class);
diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
index a5c6a9d7ff08..6e380aecea6a 100644
--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -820,7 +820,6 @@ int __init hvc_init(void)
820 return -ENOMEM; 820 return -ENOMEM;
821 821
822 drv->owner = THIS_MODULE; 822 drv->owner = THIS_MODULE;
823 drv->devfs_name = "hvc/";
824 drv->driver_name = "hvc"; 823 drv->driver_name = "hvc";
825 drv->name = "hvc"; 824 drv->name = "hvc";
826 drv->major = HVC_MAJOR; 825 drv->major = HVC_MAJOR;
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index afa26b65dac3..130dedc37568 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -1363,7 +1363,6 @@ static int __init hvcs_module_init(void)
1363 1363
1364 hvcs_tty_driver->driver_name = hvcs_driver_name; 1364 hvcs_tty_driver->driver_name = hvcs_driver_name;
1365 hvcs_tty_driver->name = hvcs_device_node; 1365 hvcs_tty_driver->name = hvcs_device_node;
1366 hvcs_tty_driver->devfs_name = hvcs_device_node;
1367 1366
1368 /* 1367 /*
1369 * We'll let the system assign us a major number, indicated by leaving 1368 * We'll let the system assign us a major number, indicated by leaving
diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c
index a0370ed752ce..7b04eb153205 100644
--- a/drivers/char/hvsi.c
+++ b/drivers/char/hvsi.c
@@ -1154,7 +1154,6 @@ static int __init hvsi_init(void)
1154 return -ENOMEM; 1154 return -ENOMEM;
1155 1155
1156 hvsi_driver->owner = THIS_MODULE; 1156 hvsi_driver->owner = THIS_MODULE;
1157 hvsi_driver->devfs_name = "hvsi/";
1158 hvsi_driver->driver_name = "hvsi"; 1157 hvsi_driver->driver_name = "hvsi";
1159 hvsi_driver->name = "hvsi"; 1158 hvsi_driver->name = "hvsi";
1160 hvsi_driver->major = HVSI_MAJOR; 1159 hvsi_driver->major = HVSI_MAJOR;
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index 9ab33c3d359f..8619542766cb 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -91,7 +91,6 @@
91#include <linux/module.h> 91#include <linux/module.h>
92#include <linux/signal.h> 92#include <linux/signal.h>
93#include <linux/sched.h> 93#include <linux/sched.h>
94#include <linux/devfs_fs_kernel.h>
95#include <linux/timer.h> 94#include <linux/timer.h>
96#include <linux/interrupt.h> 95#include <linux/interrupt.h>
97#include <linux/pci.h> 96#include <linux/pci.h>
@@ -414,9 +413,7 @@ cleanup_module(void)
414 /* free io addresses and Tibet */ 413 /* free io addresses and Tibet */
415 release_region( ip2config.addr[i], 8 ); 414 release_region( ip2config.addr[i], 8 );
416 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i)); 415 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i));
417 devfs_remove("ip2/ipl%d", i);
418 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1)); 416 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
419 devfs_remove("ip2/stat%d", i);
420 } 417 }
421 /* Disable and remove interrupt handler. */ 418 /* Disable and remove interrupt handler. */
422 if ( (ip2config.irq[i] > 0) && have_requested_irq(ip2config.irq[i]) ) { 419 if ( (ip2config.irq[i] > 0) && have_requested_irq(ip2config.irq[i]) ) {
@@ -425,7 +422,6 @@ cleanup_module(void)
425 } 422 }
426 } 423 }
427 class_destroy(ip2_class); 424 class_destroy(ip2_class);
428 devfs_remove("ip2");
429 if ( ( err = tty_unregister_driver ( ip2_tty_driver ) ) ) { 425 if ( ( err = tty_unregister_driver ( ip2_tty_driver ) ) ) {
430 printk(KERN_ERR "IP2: failed to unregister tty driver (%d)\n", err); 426 printk(KERN_ERR "IP2: failed to unregister tty driver (%d)\n", err);
431 } 427 }
@@ -675,7 +671,6 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
675 671
676 ip2_tty_driver->owner = THIS_MODULE; 672 ip2_tty_driver->owner = THIS_MODULE;
677 ip2_tty_driver->name = "ttyF"; 673 ip2_tty_driver->name = "ttyF";
678 ip2_tty_driver->devfs_name = "tts/F";
679 ip2_tty_driver->driver_name = pcDriver_name; 674 ip2_tty_driver->driver_name = pcDriver_name;
680 ip2_tty_driver->major = IP2_TTY_MAJOR; 675 ip2_tty_driver->major = IP2_TTY_MAJOR;
681 ip2_tty_driver->minor_start = 0; 676 ip2_tty_driver->minor_start = 0;
@@ -683,7 +678,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
683 ip2_tty_driver->subtype = SERIAL_TYPE_NORMAL; 678 ip2_tty_driver->subtype = SERIAL_TYPE_NORMAL;
684 ip2_tty_driver->init_termios = tty_std_termios; 679 ip2_tty_driver->init_termios = tty_std_termios;
685 ip2_tty_driver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL; 680 ip2_tty_driver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL;
686 ip2_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 681 ip2_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
687 tty_set_operations(ip2_tty_driver, &ip2_ops); 682 tty_set_operations(ip2_tty_driver, &ip2_ops);
688 683
689 ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 ); 684 ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 );
@@ -724,26 +719,9 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
724 class_device_create(ip2_class, NULL, 719 class_device_create(ip2_class, NULL,
725 MKDEV(IP2_IPL_MAJOR, 4 * i), 720 MKDEV(IP2_IPL_MAJOR, 4 * i),
726 NULL, "ipl%d", i); 721 NULL, "ipl%d", i);
727 err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i),
728 S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
729 "ip2/ipl%d", i);
730 if (err) {
731 class_device_destroy(ip2_class,
732 MKDEV(IP2_IPL_MAJOR, 4 * i));
733 goto out_class;
734 }
735
736 class_device_create(ip2_class, NULL, 722 class_device_create(ip2_class, NULL,
737 MKDEV(IP2_IPL_MAJOR, 4 * i + 1), 723 MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
738 NULL, "stat%d", i); 724 NULL, "stat%d", i);
739 err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
740 S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
741 "ip2/stat%d", i);
742 if (err) {
743 class_device_destroy(ip2_class,
744 MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
745 goto out_class;
746 }
747 725
748 for ( box = 0; box < ABS_MAX_BOXES; ++box ) 726 for ( box = 0; box < ABS_MAX_BOXES; ++box )
749 { 727 {
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c
index e1c95374984c..da637adbbfaa 100644
--- a/drivers/char/ipmi/ipmi_devintf.c
+++ b/drivers/char/ipmi/ipmi_devintf.c
@@ -40,7 +40,6 @@
40#include <linux/poll.h> 40#include <linux/poll.h>
41#include <linux/spinlock.h> 41#include <linux/spinlock.h>
42#include <linux/slab.h> 42#include <linux/slab.h>
43#include <linux/devfs_fs_kernel.h>
44#include <linux/ipmi.h> 43#include <linux/ipmi.h>
45#include <linux/mutex.h> 44#include <linux/mutex.h>
46#include <linux/init.h> 45#include <linux/init.h>
@@ -804,9 +803,6 @@ static void ipmi_new_smi(int if_num, struct device *device)
804 dev_t dev = MKDEV(ipmi_major, if_num); 803 dev_t dev = MKDEV(ipmi_major, if_num);
805 struct ipmi_reg_list *entry; 804 struct ipmi_reg_list *entry;
806 805
807 devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
808 "ipmidev/%d", if_num);
809
810 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 806 entry = kmalloc(sizeof(*entry), GFP_KERNEL);
811 if (!entry) { 807 if (!entry) {
812 printk(KERN_ERR "ipmi_devintf: Unable to create the" 808 printk(KERN_ERR "ipmi_devintf: Unable to create the"
@@ -836,7 +832,6 @@ static void ipmi_smi_gone(int if_num)
836 } 832 }
837 class_device_destroy(ipmi_class, dev); 833 class_device_destroy(ipmi_class, dev);
838 mutex_unlock(&reg_list_mutex); 834 mutex_unlock(&reg_list_mutex);
839 devfs_remove("ipmidev/%d", if_num);
840} 835}
841 836
842static struct ipmi_smi_watcher smi_watcher = 837static struct ipmi_smi_watcher smi_watcher =
@@ -872,8 +867,6 @@ static __init int init_ipmi_devintf(void)
872 ipmi_major = rv; 867 ipmi_major = rv;
873 } 868 }
874 869
875 devfs_mk_dir(DEVICE_NAME);
876
877 rv = ipmi_smi_watcher_register(&smi_watcher); 870 rv = ipmi_smi_watcher_register(&smi_watcher);
878 if (rv) { 871 if (rv) {
879 unregister_chrdev(ipmi_major, DEVICE_NAME); 872 unregister_chrdev(ipmi_major, DEVICE_NAME);
@@ -898,7 +891,6 @@ static __exit void cleanup_ipmi(void)
898 mutex_unlock(&reg_list_mutex); 891 mutex_unlock(&reg_list_mutex);
899 class_destroy(ipmi_class); 892 class_destroy(ipmi_class);
900 ipmi_smi_watcher_unregister(&smi_watcher); 893 ipmi_smi_watcher_unregister(&smi_watcher);
901 devfs_remove(DEVICE_NAME);
902 unregister_chrdev(ipmi_major, DEVICE_NAME); 894 unregister_chrdev(ipmi_major, DEVICE_NAME);
903} 895}
904module_exit(cleanup_ipmi); 896module_exit(cleanup_ipmi);
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index efaaa1937ab6..478bf4d7d065 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -1581,7 +1581,6 @@ static int __devinit isicom_register_tty_driver(void)
1581 1581
1582 isicom_normal->owner = THIS_MODULE; 1582 isicom_normal->owner = THIS_MODULE;
1583 isicom_normal->name = "ttyM"; 1583 isicom_normal->name = "ttyM";
1584 isicom_normal->devfs_name = "isicom/";
1585 isicom_normal->major = ISICOM_NMAJOR; 1584 isicom_normal->major = ISICOM_NMAJOR;
1586 isicom_normal->minor_start = 0; 1585 isicom_normal->minor_start = 0;
1587 isicom_normal->type = TTY_DRIVER_TYPE_SERIAL; 1586 isicom_normal->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c
index 216c79256de3..c74e5660a9b7 100644
--- a/drivers/char/istallion.c
+++ b/drivers/char/istallion.c
@@ -39,7 +39,6 @@
39#include <linux/ioport.h> 39#include <linux/ioport.h>
40#include <linux/delay.h> 40#include <linux/delay.h>
41#include <linux/init.h> 41#include <linux/init.h>
42#include <linux/devfs_fs_kernel.h>
43#include <linux/device.h> 42#include <linux/device.h>
44#include <linux/wait.h> 43#include <linux/wait.h>
45#include <linux/eisa.h> 44#include <linux/eisa.h>
@@ -826,11 +825,8 @@ static void __exit istallion_module_exit(void)
826 return; 825 return;
827 } 826 }
828 put_tty_driver(stli_serial); 827 put_tty_driver(stli_serial);
829 for (i = 0; i < 4; i++) { 828 for (i = 0; i < 4; i++)
830 devfs_remove("staliomem/%d", i);
831 class_device_destroy(istallion_class, MKDEV(STL_SIOMEMMAJOR, i)); 829 class_device_destroy(istallion_class, MKDEV(STL_SIOMEMMAJOR, i));
832 }
833 devfs_remove("staliomem");
834 class_destroy(istallion_class); 830 class_destroy(istallion_class);
835 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem"))) 831 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
836 printk("STALLION: failed to un-register serial memory device, " 832 printk("STALLION: failed to un-register serial memory device, "
@@ -4728,16 +4724,11 @@ int __init stli_init(void)
4728 printk(KERN_ERR "STALLION: failed to register serial memory " 4724 printk(KERN_ERR "STALLION: failed to register serial memory "
4729 "device\n"); 4725 "device\n");
4730 4726
4731 devfs_mk_dir("staliomem");
4732 istallion_class = class_create(THIS_MODULE, "staliomem"); 4727 istallion_class = class_create(THIS_MODULE, "staliomem");
4733 for (i = 0; i < 4; i++) { 4728 for (i = 0; i < 4; i++)
4734 devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
4735 S_IFCHR | S_IRUSR | S_IWUSR,
4736 "staliomem/%d", i);
4737 class_device_create(istallion_class, NULL, 4729 class_device_create(istallion_class, NULL,
4738 MKDEV(STL_SIOMEMMAJOR, i), 4730 MKDEV(STL_SIOMEMMAJOR, i),
4739 NULL, "staliomem%d", i); 4731 NULL, "staliomem%d", i);
4740 }
4741 4732
4742/* 4733/*
4743 * Set up the tty driver structure and register us as a driver. 4734 * Set up the tty driver structure and register us as a driver.
diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index e57260525293..b11a390581ba 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -120,7 +120,6 @@
120#include <linux/major.h> 120#include <linux/major.h>
121#include <linux/sched.h> 121#include <linux/sched.h>
122#include <linux/smp_lock.h> 122#include <linux/smp_lock.h>
123#include <linux/devfs_fs_kernel.h>
124#include <linux/slab.h> 123#include <linux/slab.h>
125#include <linux/fcntl.h> 124#include <linux/fcntl.h>
126#include <linux/delay.h> 125#include <linux/delay.h>
@@ -807,8 +806,6 @@ static int lp_register(int nr, struct parport *port)
807 806
808 class_device_create(lp_class, NULL, MKDEV(LP_MAJOR, nr), NULL, 807 class_device_create(lp_class, NULL, MKDEV(LP_MAJOR, nr), NULL,
809 "lp%d", nr); 808 "lp%d", nr);
810 devfs_mk_cdev(MKDEV(LP_MAJOR, nr), S_IFCHR | S_IRUGO | S_IWUGO,
811 "printers/%d", nr);
812 809
813 printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name, 810 printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name,
814 (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven"); 811 (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven");
@@ -907,7 +904,6 @@ static int __init lp_init (void)
907 return -EIO; 904 return -EIO;
908 } 905 }
909 906
910 devfs_mk_dir("printers");
911 lp_class = class_create(THIS_MODULE, "printer"); 907 lp_class = class_create(THIS_MODULE, "printer");
912 if (IS_ERR(lp_class)) { 908 if (IS_ERR(lp_class)) {
913 err = PTR_ERR(lp_class); 909 err = PTR_ERR(lp_class);
@@ -933,7 +929,6 @@ static int __init lp_init (void)
933out_class: 929out_class:
934 class_destroy(lp_class); 930 class_destroy(lp_class);
935out_devfs: 931out_devfs:
936 devfs_remove("printers");
937 unregister_chrdev(LP_MAJOR, "lp"); 932 unregister_chrdev(LP_MAJOR, "lp");
938 return err; 933 return err;
939} 934}
@@ -981,10 +976,8 @@ static void lp_cleanup_module (void)
981 if (lp_table[offset].dev == NULL) 976 if (lp_table[offset].dev == NULL)
982 continue; 977 continue;
983 parport_unregister_device(lp_table[offset].dev); 978 parport_unregister_device(lp_table[offset].dev);
984 devfs_remove("printers/%d", offset);
985 class_device_destroy(lp_class, MKDEV(LP_MAJOR, offset)); 979 class_device_destroy(lp_class, MKDEV(LP_MAJOR, offset));
986 } 980 }
987 devfs_remove("printers");
988 class_destroy(lp_class); 981 class_destroy(lp_class);
989} 982}
990 983
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 1fa9fa157c12..6fe7b6c6c462 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -20,7 +20,6 @@
20#include <linux/tty.h> 20#include <linux/tty.h>
21#include <linux/capability.h> 21#include <linux/capability.h>
22#include <linux/smp_lock.h> 22#include <linux/smp_lock.h>
23#include <linux/devfs_fs_kernel.h>
24#include <linux/ptrace.h> 23#include <linux/ptrace.h>
25#include <linux/device.h> 24#include <linux/device.h>
26#include <linux/highmem.h> 25#include <linux/highmem.h>
@@ -941,13 +940,10 @@ static int __init chr_dev_init(void)
941 printk("unable to get major %d for memory devs\n", MEM_MAJOR); 940 printk("unable to get major %d for memory devs\n", MEM_MAJOR);
942 941
943 mem_class = class_create(THIS_MODULE, "mem"); 942 mem_class = class_create(THIS_MODULE, "mem");
944 for (i = 0; i < ARRAY_SIZE(devlist); i++) { 943 for (i = 0; i < ARRAY_SIZE(devlist); i++)
945 class_device_create(mem_class, NULL, 944 class_device_create(mem_class, NULL,
946 MKDEV(MEM_MAJOR, devlist[i].minor), 945 MKDEV(MEM_MAJOR, devlist[i].minor),
947 NULL, devlist[i].name); 946 NULL, devlist[i].name);
948 devfs_mk_cdev(MKDEV(MEM_MAJOR, devlist[i].minor),
949 S_IFCHR | devlist[i].mode, devlist[i].name);
950 }
951 947
952 return 0; 948 return 0;
953} 949}
diff --git a/drivers/char/misc.c b/drivers/char/misc.c
index 96eb2a709e21..dfe1cede3916 100644
--- a/drivers/char/misc.c
+++ b/drivers/char/misc.c
@@ -44,7 +44,6 @@
44#include <linux/slab.h> 44#include <linux/slab.h>
45#include <linux/proc_fs.h> 45#include <linux/proc_fs.h>
46#include <linux/seq_file.h> 46#include <linux/seq_file.h>
47#include <linux/devfs_fs_kernel.h>
48#include <linux/stat.h> 47#include <linux/stat.h>
49#include <linux/init.h> 48#include <linux/init.h>
50#include <linux/device.h> 49#include <linux/device.h>
@@ -204,7 +203,7 @@ int misc_register(struct miscdevice * misc)
204{ 203{
205 struct miscdevice *c; 204 struct miscdevice *c;
206 dev_t dev; 205 dev_t dev;
207 int err; 206 int err = 0;
208 207
209 down(&misc_sem); 208 down(&misc_sem);
210 list_for_each_entry(c, &misc_list, list) { 209 list_for_each_entry(c, &misc_list, list) {
@@ -228,10 +227,6 @@ int misc_register(struct miscdevice * misc)
228 227
229 if (misc->minor < DYNAMIC_MINORS) 228 if (misc->minor < DYNAMIC_MINORS)
230 misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7); 229 misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7);
231 if (misc->devfs_name[0] == '\0') {
232 snprintf(misc->devfs_name, sizeof(misc->devfs_name),
233 "misc/%s", misc->name);
234 }
235 dev = MKDEV(MISC_MAJOR, misc->minor); 230 dev = MKDEV(MISC_MAJOR, misc->minor);
236 231
237 misc->class = class_device_create(misc_class, NULL, dev, misc->dev, 232 misc->class = class_device_create(misc_class, NULL, dev, misc->dev,
@@ -241,13 +236,6 @@ int misc_register(struct miscdevice * misc)
241 goto out; 236 goto out;
242 } 237 }
243 238
244 err = devfs_mk_cdev(dev, S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP,
245 misc->devfs_name);
246 if (err) {
247 class_device_destroy(misc_class, dev);
248 goto out;
249 }
250
251 /* 239 /*
252 * Add it to the front, so that later devices can "override" 240 * Add it to the front, so that later devices can "override"
253 * earlier defaults 241 * earlier defaults
@@ -278,7 +266,6 @@ int misc_deregister(struct miscdevice * misc)
278 down(&misc_sem); 266 down(&misc_sem);
279 list_del(&misc->list); 267 list_del(&misc->list);
280 class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor)); 268 class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor));
281 devfs_remove(misc->devfs_name);
282 if (i < DYNAMIC_MINORS && i>0) { 269 if (i < DYNAMIC_MINORS && i>0) {
283 misc_minors[i>>3] &= ~(1 << (misc->minor & 7)); 270 misc_minors[i>>3] &= ~(1 << (misc->minor & 7));
284 } 271 }
diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index d65b3109318a..95e8122b8068 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -25,7 +25,6 @@
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/errno.h> 26#include <linux/errno.h>
27#include <linux/mm.h> 27#include <linux/mm.h>
28#include <linux/devfs_fs_kernel.h>
29#include <linux/mmtimer.h> 28#include <linux/mmtimer.h>
30#include <linux/miscdevice.h> 29#include <linux/miscdevice.h>
31#include <linux/posix-timers.h> 30#include <linux/posix-timers.h>
@@ -694,7 +693,6 @@ static int __init mmtimer_init(void)
694 return -1; 693 return -1;
695 } 694 }
696 695
697 strcpy(mmtimer_miscdev.devfs_name, MMTIMER_NAME);
698 if (misc_register(&mmtimer_miscdev)) { 696 if (misc_register(&mmtimer_miscdev)) {
699 printk(KERN_ERR "%s: failed to register device\n", 697 printk(KERN_ERR "%s: failed to register device\n",
700 MMTIMER_NAME); 698 MMTIMER_NAME);
diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c
index 01247cccb89f..52ef61f54ba0 100644
--- a/drivers/char/moxa.c
+++ b/drivers/char/moxa.c
@@ -342,7 +342,6 @@ static int __init moxa_init(void)
342 init_MUTEX(&moxaBuffSem); 342 init_MUTEX(&moxaBuffSem);
343 moxaDriver->owner = THIS_MODULE; 343 moxaDriver->owner = THIS_MODULE;
344 moxaDriver->name = "ttyMX"; 344 moxaDriver->name = "ttyMX";
345 moxaDriver->devfs_name = "tts/a";
346 moxaDriver->major = ttymajor; 345 moxaDriver->major = ttymajor;
347 moxaDriver->minor_start = 0; 346 moxaDriver->minor_start = 0;
348 moxaDriver->type = TTY_DRIVER_TYPE_SERIAL; 347 moxaDriver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c
index bee6c47b45bd..24231d9743dc 100644
--- a/drivers/char/ppdev.c
+++ b/drivers/char/ppdev.c
@@ -60,7 +60,6 @@
60#include <linux/init.h> 60#include <linux/init.h>
61#include <linux/sched.h> 61#include <linux/sched.h>
62#include <linux/device.h> 62#include <linux/device.h>
63#include <linux/devfs_fs_kernel.h>
64#include <linux/ioctl.h> 63#include <linux/ioctl.h>
65#include <linux/parport.h> 64#include <linux/parport.h>
66#include <linux/ctype.h> 65#include <linux/ctype.h>
@@ -770,7 +769,7 @@ static struct parport_driver pp_driver = {
770 769
771static int __init ppdev_init (void) 770static int __init ppdev_init (void)
772{ 771{
773 int i, err = 0; 772 int err = 0;
774 773
775 if (register_chrdev (PP_MAJOR, CHRDEV, &pp_fops)) { 774 if (register_chrdev (PP_MAJOR, CHRDEV, &pp_fops)) {
776 printk (KERN_WARNING CHRDEV ": unable to get major %d\n", 775 printk (KERN_WARNING CHRDEV ": unable to get major %d\n",
@@ -782,11 +781,6 @@ static int __init ppdev_init (void)
782 err = PTR_ERR(ppdev_class); 781 err = PTR_ERR(ppdev_class);
783 goto out_chrdev; 782 goto out_chrdev;
784 } 783 }
785 devfs_mk_dir("parports");
786 for (i = 0; i < PARPORT_MAX; i++) {
787 devfs_mk_cdev(MKDEV(PP_MAJOR, i),
788 S_IFCHR | S_IRUGO | S_IWUGO, "parports/%d", i);
789 }
790 if (parport_register_driver(&pp_driver)) { 784 if (parport_register_driver(&pp_driver)) {
791 printk (KERN_WARNING CHRDEV ": unable to register with parport\n"); 785 printk (KERN_WARNING CHRDEV ": unable to register with parport\n");
792 goto out_class; 786 goto out_class;
@@ -796,9 +790,6 @@ static int __init ppdev_init (void)
796 goto out; 790 goto out;
797 791
798out_class: 792out_class:
799 for (i = 0; i < PARPORT_MAX; i++)
800 devfs_remove("parports/%d", i);
801 devfs_remove("parports");
802 class_destroy(ppdev_class); 793 class_destroy(ppdev_class);
803out_chrdev: 794out_chrdev:
804 unregister_chrdev(PP_MAJOR, CHRDEV); 795 unregister_chrdev(PP_MAJOR, CHRDEV);
@@ -808,12 +799,8 @@ out:
808 799
809static void __exit ppdev_cleanup (void) 800static void __exit ppdev_cleanup (void)
810{ 801{
811 int i;
812 /* Clean up all parport stuff */ 802 /* Clean up all parport stuff */
813 for (i = 0; i < PARPORT_MAX; i++)
814 devfs_remove("parports/%d", i);
815 parport_unregister_driver(&pp_driver); 803 parport_unregister_driver(&pp_driver);
816 devfs_remove("parports");
817 class_destroy(ppdev_class); 804 class_destroy(ppdev_class);
818 unregister_chrdev (PP_MAJOR, CHRDEV); 805 unregister_chrdev (PP_MAJOR, CHRDEV);
819} 806}
diff --git a/drivers/char/pty.c b/drivers/char/pty.c
index 0c17f61549b4..9491e4307566 100644
--- a/drivers/char/pty.c
+++ b/drivers/char/pty.c
@@ -24,7 +24,6 @@
24#include <linux/major.h> 24#include <linux/major.h>
25#include <linux/mm.h> 25#include <linux/mm.h>
26#include <linux/init.h> 26#include <linux/init.h>
27#include <linux/devfs_fs_kernel.h>
28#include <linux/sysctl.h> 27#include <linux/sysctl.h>
29 28
30#include <asm/uaccess.h> 29#include <asm/uaccess.h>
@@ -265,7 +264,6 @@ static void __init legacy_pty_init(void)
265 pty_driver->owner = THIS_MODULE; 264 pty_driver->owner = THIS_MODULE;
266 pty_driver->driver_name = "pty_master"; 265 pty_driver->driver_name = "pty_master";
267 pty_driver->name = "pty"; 266 pty_driver->name = "pty";
268 pty_driver->devfs_name = "pty/m";
269 pty_driver->major = PTY_MASTER_MAJOR; 267 pty_driver->major = PTY_MASTER_MAJOR;
270 pty_driver->minor_start = 0; 268 pty_driver->minor_start = 0;
271 pty_driver->type = TTY_DRIVER_TYPE_PTY; 269 pty_driver->type = TTY_DRIVER_TYPE_PTY;
@@ -283,7 +281,6 @@ static void __init legacy_pty_init(void)
283 pty_slave_driver->owner = THIS_MODULE; 281 pty_slave_driver->owner = THIS_MODULE;
284 pty_slave_driver->driver_name = "pty_slave"; 282 pty_slave_driver->driver_name = "pty_slave";
285 pty_slave_driver->name = "ttyp"; 283 pty_slave_driver->name = "ttyp";
286 pty_slave_driver->devfs_name = "pty/s";
287 pty_slave_driver->major = PTY_SLAVE_MAJOR; 284 pty_slave_driver->major = PTY_SLAVE_MAJOR;
288 pty_slave_driver->minor_start = 0; 285 pty_slave_driver->minor_start = 0;
289 pty_slave_driver->type = TTY_DRIVER_TYPE_PTY; 286 pty_slave_driver->type = TTY_DRIVER_TYPE_PTY;
@@ -351,7 +348,6 @@ static int pty_unix98_ioctl(struct tty_struct *tty, struct file *file,
351 348
352static void __init unix98_pty_init(void) 349static void __init unix98_pty_init(void)
353{ 350{
354 devfs_mk_dir("pts");
355 ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX); 351 ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX);
356 if (!ptm_driver) 352 if (!ptm_driver)
357 panic("Couldn't allocate Unix98 ptm driver"); 353 panic("Couldn't allocate Unix98 ptm driver");
@@ -372,7 +368,7 @@ static void __init unix98_pty_init(void)
372 ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; 368 ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
373 ptm_driver->init_termios.c_lflag = 0; 369 ptm_driver->init_termios.c_lflag = 0;
374 ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | 370 ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
375 TTY_DRIVER_NO_DEVFS | TTY_DRIVER_DEVPTS_MEM; 371 TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM;
376 ptm_driver->other = pts_driver; 372 ptm_driver->other = pts_driver;
377 tty_set_operations(ptm_driver, &pty_ops); 373 tty_set_operations(ptm_driver, &pty_ops);
378 ptm_driver->ioctl = pty_unix98_ioctl; 374 ptm_driver->ioctl = pty_unix98_ioctl;
@@ -387,7 +383,7 @@ static void __init unix98_pty_init(void)
387 pts_driver->init_termios = tty_std_termios; 383 pts_driver->init_termios = tty_std_termios;
388 pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; 384 pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
389 pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | 385 pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
390 TTY_DRIVER_NO_DEVFS | TTY_DRIVER_DEVPTS_MEM; 386 TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM;
391 pts_driver->other = ptm_driver; 387 pts_driver->other = ptm_driver;
392 tty_set_operations(pts_driver, &pty_ops); 388 tty_set_operations(pts_driver, &pty_ops);
393 389
diff --git a/drivers/char/raw.c b/drivers/char/raw.c
index 15a7b4086524..9bf97c5e38c0 100644
--- a/drivers/char/raw.c
+++ b/drivers/char/raw.c
@@ -10,7 +10,6 @@
10 10
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/fs.h> 12#include <linux/fs.h>
13#include <linux/devfs_fs_kernel.h>
14#include <linux/major.h> 13#include <linux/major.h>
15#include <linux/blkdev.h> 14#include <linux/blkdev.h>
16#include <linux/module.h> 15#include <linux/module.h>
@@ -288,7 +287,6 @@ static struct cdev raw_cdev = {
288 287
289static int __init raw_init(void) 288static int __init raw_init(void)
290{ 289{
291 int i;
292 dev_t dev = MKDEV(RAW_MAJOR, 0); 290 dev_t dev = MKDEV(RAW_MAJOR, 0);
293 291
294 if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw")) 292 if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw"))
@@ -310,13 +308,6 @@ static int __init raw_init(void)
310 } 308 }
311 class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl"); 309 class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl");
312 310
313 devfs_mk_cdev(MKDEV(RAW_MAJOR, 0),
314 S_IFCHR | S_IRUGO | S_IWUGO,
315 "raw/rawctl");
316 for (i = 1; i < MAX_RAW_MINORS; i++)
317 devfs_mk_cdev(MKDEV(RAW_MAJOR, i),
318 S_IFCHR | S_IRUGO | S_IWUGO,
319 "raw/raw%d", i);
320 return 0; 311 return 0;
321 312
322error: 313error:
@@ -326,12 +317,6 @@ error:
326 317
327static void __exit raw_exit(void) 318static void __exit raw_exit(void)
328{ 319{
329 int i;
330
331 for (i = 1; i < MAX_RAW_MINORS; i++)
332 devfs_remove("raw/raw%d", i);
333 devfs_remove("raw/rawctl");
334 devfs_remove("raw");
335 class_device_destroy(raw_class, MKDEV(RAW_MAJOR, 0)); 320 class_device_destroy(raw_class, MKDEV(RAW_MAJOR, 0));
336 class_destroy(raw_class); 321 class_destroy(raw_class);
337 cdev_del(&raw_cdev); 322 cdev_del(&raw_cdev);
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
index 657c0d88f48c..c84c3c3f10c3 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -1634,7 +1634,6 @@ static inline int rc_init_drivers(void)
1634 memset(IRQ_to_board, 0, sizeof(IRQ_to_board)); 1634 memset(IRQ_to_board, 0, sizeof(IRQ_to_board));
1635 riscom_driver->owner = THIS_MODULE; 1635 riscom_driver->owner = THIS_MODULE;
1636 riscom_driver->name = "ttyL"; 1636 riscom_driver->name = "ttyL";
1637 riscom_driver->devfs_name = "tts/L";
1638 riscom_driver->major = RISCOM8_NORMAL_MAJOR; 1637 riscom_driver->major = RISCOM8_NORMAL_MAJOR;
1639 riscom_driver->type = TTY_DRIVER_TYPE_SERIAL; 1638 riscom_driver->type = TTY_DRIVER_TYPE_SERIAL;
1640 riscom_driver->subtype = SERIAL_TYPE_NORMAL; 1639 riscom_driver->subtype = SERIAL_TYPE_NORMAL;
diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c
index 0708c5164c83..0ac131881322 100644
--- a/drivers/char/rocket.c
+++ b/drivers/char/rocket.c
@@ -2426,8 +2426,7 @@ static int __init rp_init(void)
2426 */ 2426 */
2427 2427
2428 rocket_driver->owner = THIS_MODULE; 2428 rocket_driver->owner = THIS_MODULE;
2429 rocket_driver->flags = TTY_DRIVER_NO_DEVFS; 2429 rocket_driver->flags = TTY_DRIVER_DYNAMIC_DEV;
2430 rocket_driver->devfs_name = "tts/R";
2431 rocket_driver->name = "ttyR"; 2430 rocket_driver->name = "ttyR";
2432 rocket_driver->driver_name = "Comtrol RocketPort"; 2431 rocket_driver->driver_name = "Comtrol RocketPort";
2433 rocket_driver->major = TTY_ROCKET_MAJOR; 2432 rocket_driver->major = TTY_ROCKET_MAJOR;
@@ -2438,7 +2437,7 @@ static int __init rp_init(void)
2438 rocket_driver->init_termios.c_cflag = 2437 rocket_driver->init_termios.c_cflag =
2439 B9600 | CS8 | CREAD | HUPCL | CLOCAL; 2438 B9600 | CS8 | CREAD | HUPCL | CLOCAL;
2440#ifdef ROCKET_SOFT_FLOW 2439#ifdef ROCKET_SOFT_FLOW
2441 rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 2440 rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
2442#endif 2441#endif
2443 tty_set_operations(rocket_driver, &rocket_ops); 2442 tty_set_operations(rocket_driver, &rocket_ops);
2444 2443
diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c
index 037c940ac71b..c851eeaa4069 100644
--- a/drivers/char/serial167.c
+++ b/drivers/char/serial167.c
@@ -2235,7 +2235,6 @@ scrn[1] = '\0';
2235 /* Initialize the tty_driver structure */ 2235 /* Initialize the tty_driver structure */
2236 2236
2237 cy_serial_driver->owner = THIS_MODULE; 2237 cy_serial_driver->owner = THIS_MODULE;
2238 cy_serial_driver->devfs_name = "tts/";
2239 cy_serial_driver->name = "ttyS"; 2238 cy_serial_driver->name = "ttyS";
2240 cy_serial_driver->major = TTY_MAJOR; 2239 cy_serial_driver->major = TTY_MAJOR;
2241 cy_serial_driver->minor_start = 64; 2240 cy_serial_driver->minor_start = 64;
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c
index 00b4a2187164..0f7a542d9041 100644
--- a/drivers/char/stallion.c
+++ b/drivers/char/stallion.c
@@ -40,7 +40,6 @@
40#include <linux/ioport.h> 40#include <linux/ioport.h>
41#include <linux/init.h> 41#include <linux/init.h>
42#include <linux/smp_lock.h> 42#include <linux/smp_lock.h>
43#include <linux/devfs_fs_kernel.h>
44#include <linux/device.h> 43#include <linux/device.h>
45#include <linux/delay.h> 44#include <linux/delay.h>
46 45
@@ -757,11 +756,8 @@ static void __exit stallion_module_exit(void)
757 "errno=%d\n", -i); 756 "errno=%d\n", -i);
758 return; 757 return;
759 } 758 }
760 for (i = 0; i < 4; i++) { 759 for (i = 0; i < 4; i++)
761 devfs_remove("staliomem/%d", i);
762 class_device_destroy(stallion_class, MKDEV(STL_SIOMEMMAJOR, i)); 760 class_device_destroy(stallion_class, MKDEV(STL_SIOMEMMAJOR, i));
763 }
764 devfs_remove("staliomem");
765 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem"))) 761 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
766 printk("STALLION: failed to un-register serial memory device, " 762 printk("STALLION: failed to un-register serial memory device, "
767 "errno=%d\n", -i); 763 "errno=%d\n", -i);
@@ -3044,22 +3040,16 @@ static int __init stl_init(void)
3044 */ 3040 */
3045 if (register_chrdev(STL_SIOMEMMAJOR, "staliomem", &stl_fsiomem)) 3041 if (register_chrdev(STL_SIOMEMMAJOR, "staliomem", &stl_fsiomem))
3046 printk("STALLION: failed to register serial board device\n"); 3042 printk("STALLION: failed to register serial board device\n");
3047 devfs_mk_dir("staliomem");
3048 3043
3049 stallion_class = class_create(THIS_MODULE, "staliomem"); 3044 stallion_class = class_create(THIS_MODULE, "staliomem");
3050 for (i = 0; i < 4; i++) { 3045 for (i = 0; i < 4; i++)
3051 devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
3052 S_IFCHR|S_IRUSR|S_IWUSR,
3053 "staliomem/%d", i);
3054 class_device_create(stallion_class, NULL, 3046 class_device_create(stallion_class, NULL,
3055 MKDEV(STL_SIOMEMMAJOR, i), NULL, 3047 MKDEV(STL_SIOMEMMAJOR, i), NULL,
3056 "staliomem%d", i); 3048 "staliomem%d", i);
3057 }
3058 3049
3059 stl_serial->owner = THIS_MODULE; 3050 stl_serial->owner = THIS_MODULE;
3060 stl_serial->driver_name = stl_drvname; 3051 stl_serial->driver_name = stl_drvname;
3061 stl_serial->name = "ttyE"; 3052 stl_serial->name = "ttyE";
3062 stl_serial->devfs_name = "tts/E";
3063 stl_serial->major = STL_SERIALMAJOR; 3053 stl_serial->major = STL_SERIALMAJOR;
3064 stl_serial->minor_start = 0; 3054 stl_serial->minor_start = 0;
3065 stl_serial->type = TTY_DRIVER_TYPE_SERIAL; 3055 stl_serial->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c
index 079db5a935a1..f7802e5bd7ca 100644
--- a/drivers/char/tipar.c
+++ b/drivers/char/tipar.c
@@ -56,7 +56,6 @@
56#include <linux/ioport.h> 56#include <linux/ioport.h>
57#include <asm/io.h> 57#include <asm/io.h>
58#include <linux/bitops.h> 58#include <linux/bitops.h>
59#include <linux/devfs_fs_kernel.h> /* DevFs support */
60#include <linux/parport.h> /* Our code depend on parport */ 59#include <linux/parport.h> /* Our code depend on parport */
61#include <linux/device.h> 60#include <linux/device.h>
62 61
@@ -443,12 +442,6 @@ tipar_register(int nr, struct parport *port)
443 442
444 class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR, 443 class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR,
445 TIPAR_MINOR + nr), NULL, "par%d", nr); 444 TIPAR_MINOR + nr), NULL, "par%d", nr);
446 /* Use devfs, tree: /dev/ticables/par/[0..2] */
447 err = devfs_mk_cdev(MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr),
448 S_IFCHR | S_IRUGO | S_IWUGO,
449 "ticables/par/%d", nr);
450 if (err)
451 goto out_class;
452 445
453 /* Display informations */ 446 /* Display informations */
454 pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq == 447 pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq ==
@@ -460,11 +453,7 @@ tipar_register(int nr, struct parport *port)
460 pr_info("tipar%d: link cable not found\n", nr); 453 pr_info("tipar%d: link cable not found\n", nr);
461 454
462 err = 0; 455 err = 0;
463 goto out;
464 456
465out_class:
466 class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr));
467 class_destroy(tipar_class);
468out: 457out:
469 return err; 458 return err;
470} 459}
@@ -507,9 +496,6 @@ tipar_init_module(void)
507 goto out; 496 goto out;
508 } 497 }
509 498
510 /* Use devfs with tree: /dev/ticables/par/[0..2] */
511 devfs_mk_dir("ticables/par");
512
513 tipar_class = class_create(THIS_MODULE, "ticables"); 499 tipar_class = class_create(THIS_MODULE, "ticables");
514 if (IS_ERR(tipar_class)) { 500 if (IS_ERR(tipar_class)) {
515 err = PTR_ERR(tipar_class); 501 err = PTR_ERR(tipar_class);
@@ -528,7 +514,6 @@ out_class:
528 class_destroy(tipar_class); 514 class_destroy(tipar_class);
529 515
530out_chrdev: 516out_chrdev:
531 devfs_remove("ticables/par");
532 unregister_chrdev(TIPAR_MAJOR, "tipar"); 517 unregister_chrdev(TIPAR_MAJOR, "tipar");
533out: 518out:
534 return err; 519 return err;
@@ -549,10 +534,8 @@ tipar_cleanup_module(void)
549 continue; 534 continue;
550 parport_unregister_device(table[i].dev); 535 parport_unregister_device(table[i].dev);
551 class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i)); 536 class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i));
552 devfs_remove("ticables/par/%d", i);
553 } 537 }
554 class_destroy(tipar_class); 538 class_destroy(tipar_class);
555 devfs_remove("ticables/par");
556 539
557 pr_info("tipar: module unloaded\n"); 540 pr_info("tipar: module unloaded\n");
558} 541}
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 8d19f7281f0b..a1143238feca 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -102,7 +102,6 @@
102#include <linux/kbd_kern.h> 102#include <linux/kbd_kern.h>
103#include <linux/vt_kern.h> 103#include <linux/vt_kern.h>
104#include <linux/selection.h> 104#include <linux/selection.h>
105#include <linux/devfs_fs_kernel.h>
106 105
107#include <linux/kmod.h> 106#include <linux/kmod.h>
108 107
@@ -2955,8 +2954,8 @@ static struct class *tty_class;
2955 * Returns a pointer to the class device (or ERR_PTR(-EFOO) on error). 2954 * Returns a pointer to the class device (or ERR_PTR(-EFOO) on error).
2956 * 2955 *
2957 * This call is required to be made to register an individual tty device if 2956 * This call is required to be made to register an individual tty device if
2958 * the tty driver's flags have the TTY_DRIVER_NO_DEVFS bit set. If that 2957 * the tty driver's flags have the TTY_DRIVER_DYNAMIC_DEV bit set. If that
2959 * bit is not set, this function should not be called. 2958 * bit is not set, this function should not be called by a tty driver.
2960 */ 2959 */
2961struct class_device *tty_register_device(struct tty_driver *driver, 2960struct class_device *tty_register_device(struct tty_driver *driver,
2962 unsigned index, struct device *device) 2961 unsigned index, struct device *device)
@@ -2970,9 +2969,6 @@ struct class_device *tty_register_device(struct tty_driver *driver,
2970 return ERR_PTR(-EINVAL); 2969 return ERR_PTR(-EINVAL);
2971 } 2970 }
2972 2971
2973 devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
2974 "%s%d", driver->devfs_name, index + driver->name_base);
2975
2976 if (driver->type == TTY_DRIVER_TYPE_PTY) 2972 if (driver->type == TTY_DRIVER_TYPE_PTY)
2977 pty_line_name(driver, index, name); 2973 pty_line_name(driver, index, name);
2978 else 2974 else
@@ -2991,7 +2987,6 @@ struct class_device *tty_register_device(struct tty_driver *driver,
2991 */ 2987 */
2992void tty_unregister_device(struct tty_driver *driver, unsigned index) 2988void tty_unregister_device(struct tty_driver *driver, unsigned index)
2993{ 2989{
2994 devfs_remove("%s%d", driver->devfs_name, index + driver->name_base);
2995 class_device_destroy(tty_class, MKDEV(driver->major, driver->minor_start) + index); 2990 class_device_destroy(tty_class, MKDEV(driver->major, driver->minor_start) + index);
2996} 2991}
2997 2992
@@ -3113,7 +3108,7 @@ int tty_register_driver(struct tty_driver *driver)
3113 3108
3114 list_add(&driver->tty_drivers, &tty_drivers); 3109 list_add(&driver->tty_drivers, &tty_drivers);
3115 3110
3116 if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) { 3111 if ( !(driver->flags & TTY_DRIVER_DYNAMIC_DEV) ) {
3117 for(i = 0; i < driver->num; i++) 3112 for(i = 0; i < driver->num; i++)
3118 tty_register_device(driver, i, NULL); 3113 tty_register_device(driver, i, NULL);
3119 } 3114 }
@@ -3156,7 +3151,7 @@ int tty_unregister_driver(struct tty_driver *driver)
3156 driver->termios_locked[i] = NULL; 3151 driver->termios_locked[i] = NULL;
3157 kfree(tp); 3152 kfree(tp);
3158 } 3153 }
3159 if (!(driver->flags & TTY_DRIVER_NO_DEVFS)) 3154 if (!(driver->flags & TTY_DRIVER_DYNAMIC_DEV))
3160 tty_unregister_device(driver, i); 3155 tty_unregister_device(driver, i);
3161 } 3156 }
3162 p = driver->ttys; 3157 p = driver->ttys;
@@ -3232,14 +3227,12 @@ static int __init tty_init(void)
3232 if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) || 3227 if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) ||
3233 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0) 3228 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0)
3234 panic("Couldn't register /dev/tty driver\n"); 3229 panic("Couldn't register /dev/tty driver\n");
3235 devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 0), S_IFCHR|S_IRUGO|S_IWUGO, "tty");
3236 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty"); 3230 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty");
3237 3231
3238 cdev_init(&console_cdev, &console_fops); 3232 cdev_init(&console_cdev, &console_fops);
3239 if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) || 3233 if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) ||
3240 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0) 3234 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0)
3241 panic("Couldn't register /dev/console driver\n"); 3235 panic("Couldn't register /dev/console driver\n");
3242 devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 1), S_IFCHR|S_IRUSR|S_IWUSR, "console");
3243 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL, "console"); 3236 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL, "console");
3244 3237
3245#ifdef CONFIG_UNIX98_PTYS 3238#ifdef CONFIG_UNIX98_PTYS
@@ -3247,7 +3240,6 @@ static int __init tty_init(void)
3247 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || 3240 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
3248 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0) 3241 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0)
3249 panic("Couldn't register /dev/ptmx driver\n"); 3242 panic("Couldn't register /dev/ptmx driver\n");
3250 devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 2), S_IFCHR|S_IRUGO|S_IWUGO, "ptmx");
3251 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx"); 3243 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx");
3252#endif 3244#endif
3253 3245
@@ -3256,7 +3248,6 @@ static int __init tty_init(void)
3256 if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) || 3248 if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
3257 register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0) 3249 register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
3258 panic("Couldn't register /dev/tty0 driver\n"); 3250 panic("Couldn't register /dev/tty0 driver\n");
3259 devfs_mk_cdev(MKDEV(TTY_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vc/0");
3260 class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0"); 3251 class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
3261 3252
3262 vty_init(); 3253 vty_init();
diff --git a/drivers/char/vc_screen.c b/drivers/char/vc_screen.c
index 3c1dafaa3441..234d7f3fb114 100644
--- a/drivers/char/vc_screen.c
+++ b/drivers/char/vc_screen.c
@@ -26,7 +26,6 @@
26#include <linux/major.h> 26#include <linux/major.h>
27#include <linux/errno.h> 27#include <linux/errno.h>
28#include <linux/tty.h> 28#include <linux/tty.h>
29#include <linux/devfs_fs_kernel.h>
30#include <linux/sched.h> 29#include <linux/sched.h>
31#include <linux/interrupt.h> 30#include <linux/interrupt.h>
32#include <linux/mm.h> 31#include <linux/mm.h>
@@ -478,12 +477,6 @@ static struct class *vc_class;
478 477
479void vcs_make_devfs(struct tty_struct *tty) 478void vcs_make_devfs(struct tty_struct *tty)
480{ 479{
481 devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 1),
482 S_IFCHR|S_IRUSR|S_IWUSR,
483 "vcc/%u", tty->index + 1);
484 devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 129),
485 S_IFCHR|S_IRUSR|S_IWUSR,
486 "vcc/a%u", tty->index + 1);
487 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 1), 480 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 1),
488 NULL, "vcs%u", tty->index + 1); 481 NULL, "vcs%u", tty->index + 1);
489 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 129), 482 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 129),
@@ -491,8 +484,6 @@ void vcs_make_devfs(struct tty_struct *tty)
491} 484}
492void vcs_remove_devfs(struct tty_struct *tty) 485void vcs_remove_devfs(struct tty_struct *tty)
493{ 486{
494 devfs_remove("vcc/%u", tty->index + 1);
495 devfs_remove("vcc/a%u", tty->index + 1);
496 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 1)); 487 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 1));
497 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 129)); 488 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 129));
498} 489}
@@ -503,8 +494,6 @@ int __init vcs_init(void)
503 panic("unable to get major %d for vcs device", VCS_MAJOR); 494 panic("unable to get major %d for vcs device", VCS_MAJOR);
504 vc_class = class_create(THIS_MODULE, "vc"); 495 vc_class = class_create(THIS_MODULE, "vc");
505 496
506 devfs_mk_cdev(MKDEV(VCS_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vcc/0");
507 devfs_mk_cdev(MKDEV(VCS_MAJOR, 128), S_IFCHR|S_IRUSR|S_IWUSR, "vcc/a0");
508 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs"); 497 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs");
509 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa"); 498 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa");
510 return 0; 499 return 0;
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c
index 4e5360388748..07f5ce4b28e3 100644
--- a/drivers/char/viocons.c
+++ b/drivers/char/viocons.c
@@ -1152,7 +1152,6 @@ static int __init viocons_init2(void)
1152 viotty_driver = alloc_tty_driver(VTTY_PORTS); 1152 viotty_driver = alloc_tty_driver(VTTY_PORTS);
1153 viotty_driver->owner = THIS_MODULE; 1153 viotty_driver->owner = THIS_MODULE;
1154 viotty_driver->driver_name = "vioconsole"; 1154 viotty_driver->driver_name = "vioconsole";
1155 viotty_driver->devfs_name = "vcs/";
1156 viotty_driver->name = "tty"; 1155 viotty_driver->name = "tty";
1157 viotty_driver->name_base = 1; 1156 viotty_driver->name_base = 1;
1158 viotty_driver->major = TTY_MAJOR; 1157 viotty_driver->major = TTY_MAJOR;
diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c
index 11c7e9de5958..198f1505ae23 100644
--- a/drivers/char/viotape.c
+++ b/drivers/char/viotape.c
@@ -43,7 +43,6 @@
43#include <linux/dma-mapping.h> 43#include <linux/dma-mapping.h>
44#include <linux/fs.h> 44#include <linux/fs.h>
45#include <linux/cdev.h> 45#include <linux/cdev.h>
46#include <linux/devfs_fs_kernel.h>
47#include <linux/major.h> 46#include <linux/major.h>
48#include <linux/completion.h> 47#include <linux/completion.h>
49#include <linux/proc_fs.h> 48#include <linux/proc_fs.h>
@@ -246,7 +245,6 @@ static struct device *tape_device[VIOTAPE_MAX_TAPE];
246 */ 245 */
247static struct { 246static struct {
248 unsigned char cur_part; 247 unsigned char cur_part;
249 int dev_handle;
250 unsigned char part_stat_rwi[MAX_PARTITIONS]; 248 unsigned char part_stat_rwi[MAX_PARTITIONS];
251} state[VIOTAPE_MAX_TAPE]; 249} state[VIOTAPE_MAX_TAPE];
252 250
@@ -959,12 +957,7 @@ static int viotape_probe(struct vio_dev *vdev, const struct vio_device_id *id)
959 "iseries!vt%d", i); 957 "iseries!vt%d", i);
960 class_device_create(tape_class, NULL, MKDEV(VIOTAPE_MAJOR, i | 0x80), 958 class_device_create(tape_class, NULL, MKDEV(VIOTAPE_MAJOR, i | 0x80),
961 NULL, "iseries!nvt%d", i); 959 NULL, "iseries!nvt%d", i);
962 devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i), S_IFCHR | S_IRUSR | S_IWUSR,
963 "iseries/vt%d", i);
964 devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i | 0x80),
965 S_IFCHR | S_IRUSR | S_IWUSR, "iseries/nvt%d", i);
966 sprintf(tapename, "iseries/vt%d", i); 960 sprintf(tapename, "iseries/vt%d", i);
967 state[i].dev_handle = devfs_register_tape(tapename);
968 printk(VIOTAPE_KERN_INFO "tape %s is iSeries " 961 printk(VIOTAPE_KERN_INFO "tape %s is iSeries "
969 "resource %10.10s type %4.4s, model %3.3s\n", 962 "resource %10.10s type %4.4s, model %3.3s\n",
970 tapename, viotape_unitinfo[i].rsrcname, 963 tapename, viotape_unitinfo[i].rsrcname,
@@ -976,9 +969,6 @@ static int viotape_remove(struct vio_dev *vdev)
976{ 969{
977 int i = vdev->unit_address; 970 int i = vdev->unit_address;
978 971
979 devfs_remove("iseries/nvt%d", i);
980 devfs_remove("iseries/vt%d", i);
981 devfs_unregister_tape(state[i].dev_handle);
982 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80)); 972 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80));
983 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i)); 973 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i));
984 return 0; 974 return 0;
diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c
index fd00822ac145..fe99fc1aba45 100644
--- a/drivers/char/vme_scc.c
+++ b/drivers/char/vme_scc.c
@@ -147,7 +147,6 @@ static int scc_init_drivers(void)
147 scc_driver->owner = THIS_MODULE; 147 scc_driver->owner = THIS_MODULE;
148 scc_driver->driver_name = "scc"; 148 scc_driver->driver_name = "scc";
149 scc_driver->name = "ttyS"; 149 scc_driver->name = "ttyS";
150 scc_driver->devfs_name = "tts/";
151 scc_driver->major = TTY_MAJOR; 150 scc_driver->major = TTY_MAJOR;
152 scc_driver->minor_start = SCC_MINOR_BASE; 151 scc_driver->minor_start = SCC_MINOR_BASE;
153 scc_driver->type = TTY_DRIVER_TYPE_SERIAL; 152 scc_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index 714d95ff2f1e..d6f65032649a 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -79,7 +79,6 @@
79#include <linux/mm.h> 79#include <linux/mm.h>
80#include <linux/console.h> 80#include <linux/console.h>
81#include <linux/init.h> 81#include <linux/init.h>
82#include <linux/devfs_fs_kernel.h>
83#include <linux/vt_kern.h> 82#include <linux/vt_kern.h>
84#include <linux/selection.h> 83#include <linux/selection.h>
85#include <linux/tiocl.h> 84#include <linux/tiocl.h>
@@ -2663,7 +2662,6 @@ int __init vty_init(void)
2663 if (!console_driver) 2662 if (!console_driver)
2664 panic("Couldn't allocate console driver\n"); 2663 panic("Couldn't allocate console driver\n");
2665 console_driver->owner = THIS_MODULE; 2664 console_driver->owner = THIS_MODULE;
2666 console_driver->devfs_name = "vc/";
2667 console_driver->name = "tty"; 2665 console_driver->name = "tty";
2668 console_driver->name_base = 1; 2666 console_driver->name_base = 1;
2669 console_driver->major = TTY_MAJOR; 2667 console_driver->major = TTY_MAJOR;
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 99fa42402e71..bfafd4846a08 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -3527,8 +3527,6 @@ static int ide_cd_probe(ide_drive_t *drive)
3527 drive->driver_data = info; 3527 drive->driver_data = info;
3528 3528
3529 g->minors = 1; 3529 g->minors = 1;
3530 snprintf(g->devfs_name, sizeof(g->devfs_name),
3531 "%s/cd", drive->devfs_name);
3532 g->driverfs_dev = &drive->gendev; 3530 g->driverfs_dev = &drive->gendev;
3533 g->flags = GENHD_FL_CD | GENHD_FL_REMOVABLE; 3531 g->flags = GENHD_FL_CD | GENHD_FL_REMOVABLE;
3534 if (ide_cdrom_setup(drive)) { 3532 if (ide_cdrom_setup(drive)) {
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index f033d732f387..d0227c39ced1 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -1018,7 +1018,6 @@ static void ide_disk_release(struct kref *kref)
1018 struct gendisk *g = idkp->disk; 1018 struct gendisk *g = idkp->disk;
1019 1019
1020 drive->driver_data = NULL; 1020 drive->driver_data = NULL;
1021 drive->devfs_name[0] = '\0';
1022 g->private_data = NULL; 1021 g->private_data = NULL;
1023 put_disk(g); 1022 put_disk(g);
1024 kfree(idkp); 1023 kfree(idkp);
@@ -1222,7 +1221,6 @@ static int ide_disk_probe(ide_drive_t *drive)
1222 drive->attach = 1; 1221 drive->attach = 1;
1223 1222
1224 g->minors = 1 << PARTN_BITS; 1223 g->minors = 1 << PARTN_BITS;
1225 strcpy(g->devfs_name, drive->devfs_name);
1226 g->driverfs_dev = &drive->gendev; 1224 g->driverfs_dev = &drive->gendev;
1227 g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0; 1225 g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
1228 set_capacity(g, idedisk_capacity(drive)); 1226 set_capacity(g, idedisk_capacity(drive));
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 4656587aa2f7..68628327c0f5 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -2176,7 +2176,6 @@ static int ide_floppy_probe(ide_drive_t *drive)
2176 2176
2177 g->minors = 1 << PARTN_BITS; 2177 g->minors = 1 << PARTN_BITS;
2178 g->driverfs_dev = &drive->gendev; 2178 g->driverfs_dev = &drive->gendev;
2179 strcpy(g->devfs_name, drive->devfs_name);
2180 g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0; 2179 g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
2181 g->fops = &idefloppy_ops; 2180 g->fops = &idefloppy_ops;
2182 drive->attach = 1; 2181 drive->attach = 1;
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 9ebf8ae2a5e3..0d5038a28560 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -47,7 +47,6 @@
47#include <linux/slab.h> 47#include <linux/slab.h>
48#include <linux/delay.h> 48#include <linux/delay.h>
49#include <linux/ide.h> 49#include <linux/ide.h>
50#include <linux/devfs_fs_kernel.h>
51#include <linux/spinlock.h> 50#include <linux/spinlock.h>
52#include <linux/kmod.h> 51#include <linux/kmod.h>
53#include <linux/pci.h> 52#include <linux/pci.h>
@@ -1279,10 +1278,6 @@ static void drive_release_dev (struct device *dev)
1279 ide_drive_t *drive = container_of(dev, ide_drive_t, gendev); 1278 ide_drive_t *drive = container_of(dev, ide_drive_t, gendev);
1280 1279
1281 spin_lock_irq(&ide_lock); 1280 spin_lock_irq(&ide_lock);
1282 if (drive->devfs_name[0] != '\0') {
1283 devfs_remove(drive->devfs_name);
1284 drive->devfs_name[0] = '\0';
1285 }
1286 ide_remove_drive_from_hwgroup(drive); 1281 ide_remove_drive_from_hwgroup(drive);
1287 kfree(drive->id); 1282 kfree(drive->id);
1288 drive->id = NULL; 1283 drive->id = NULL;
@@ -1316,12 +1311,6 @@ static void init_gendisk (ide_hwif_t *hwif)
1316 drive->gendev.bus = &ide_bus_type; 1311 drive->gendev.bus = &ide_bus_type;
1317 drive->gendev.driver_data = drive; 1312 drive->gendev.driver_data = drive;
1318 drive->gendev.release = drive_release_dev; 1313 drive->gendev.release = drive_release_dev;
1319 if (drive->present) {
1320 sprintf(drive->devfs_name, "ide/host%d/bus%d/target%d/lun%d",
1321 (hwif->channel && hwif->mate) ?
1322 hwif->mate->index : hwif->index,
1323 hwif->channel, unit, drive->lun);
1324 }
1325 } 1314 }
1326 blk_register_region(MKDEV(hwif->major, 0), MAX_DRIVES << PARTN_BITS, 1315 blk_register_region(MKDEV(hwif->major, 0), MAX_DRIVES << PARTN_BITS,
1327 THIS_MODULE, ata_probe, ata_lock, hwif); 1316 THIS_MODULE, ata_probe, ata_lock, hwif);
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 09f3a7dab28a..4b91101e12b7 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -435,7 +435,6 @@
435#include <linux/interrupt.h> 435#include <linux/interrupt.h>
436#include <linux/jiffies.h> 436#include <linux/jiffies.h>
437#include <linux/major.h> 437#include <linux/major.h>
438#include <linux/devfs_fs_kernel.h>
439#include <linux/errno.h> 438#include <linux/errno.h>
440#include <linux/genhd.h> 439#include <linux/genhd.h>
441#include <linux/slab.h> 440#include <linux/slab.h>
@@ -4726,9 +4725,6 @@ static void ide_tape_release(struct kref *kref)
4726 MKDEV(IDETAPE_MAJOR, tape->minor)); 4725 MKDEV(IDETAPE_MAJOR, tape->minor));
4727 class_device_destroy(idetape_sysfs_class, 4726 class_device_destroy(idetape_sysfs_class,
4728 MKDEV(IDETAPE_MAJOR, tape->minor + 128)); 4727 MKDEV(IDETAPE_MAJOR, tape->minor + 128));
4729 devfs_remove("%s/mt", drive->devfs_name);
4730 devfs_remove("%s/mtn", drive->devfs_name);
4731 devfs_unregister_tape(g->number);
4732 idetape_devs[tape->minor] = NULL; 4728 idetape_devs[tape->minor] = NULL;
4733 g->private_data = NULL; 4729 g->private_data = NULL;
4734 put_disk(g); 4730 put_disk(g);
@@ -4902,14 +4898,6 @@ static int ide_tape_probe(ide_drive_t *drive)
4902 class_device_create(idetape_sysfs_class, NULL, 4898 class_device_create(idetape_sysfs_class, NULL,
4903 MKDEV(IDETAPE_MAJOR, minor + 128), &drive->gendev, "n%s", tape->name); 4899 MKDEV(IDETAPE_MAJOR, minor + 128), &drive->gendev, "n%s", tape->name);
4904 4900
4905 devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor),
4906 S_IFCHR | S_IRUGO | S_IWUGO,
4907 "%s/mt", drive->devfs_name);
4908 devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor + 128),
4909 S_IFCHR | S_IRUGO | S_IWUGO,
4910 "%s/mtn", drive->devfs_name);
4911
4912 g->number = devfs_register_tape(drive->devfs_name);
4913 g->fops = &idetape_block_ops; 4901 g->fops = &idetape_block_ops;
4914 ide_register_region(g); 4902 ide_register_region(g);
4915 4903
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 59fe358048b3..1cdf44205162 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -147,7 +147,6 @@
147#include <linux/pci.h> 147#include <linux/pci.h>
148#include <linux/delay.h> 148#include <linux/delay.h>
149#include <linux/ide.h> 149#include <linux/ide.h>
150#include <linux/devfs_fs_kernel.h>
151#include <linux/completion.h> 150#include <linux/completion.h>
152#include <linux/reboot.h> 151#include <linux/reboot.h>
153#include <linux/cdrom.h> 152#include <linux/cdrom.h>
@@ -592,13 +591,8 @@ void ide_unregister(unsigned int index)
592 goto abort; 591 goto abort;
593 for (unit = 0; unit < MAX_DRIVES; ++unit) { 592 for (unit = 0; unit < MAX_DRIVES; ++unit) {
594 drive = &hwif->drives[unit]; 593 drive = &hwif->drives[unit];
595 if (!drive->present) { 594 if (!drive->present)
596 if (drive->devfs_name[0] != '\0') {
597 devfs_remove(drive->devfs_name);
598 drive->devfs_name[0] = '\0';
599 }
600 continue; 595 continue;
601 }
602 spin_unlock_irq(&ide_lock); 596 spin_unlock_irq(&ide_lock);
603 device_unregister(&drive->gendev); 597 device_unregister(&drive->gendev);
604 wait_for_completion(&drive->gendev_rel_comp); 598 wait_for_completion(&drive->gendev_rel_comp);
@@ -1996,7 +1990,6 @@ EXPORT_SYMBOL_GPL(ide_bus_type);
1996static int __init ide_init(void) 1990static int __init ide_init(void)
1997{ 1991{
1998 printk(KERN_INFO "Uniform Multi-Platform E-IDE driver " REVISION "\n"); 1992 printk(KERN_INFO "Uniform Multi-Platform E-IDE driver " REVISION "\n");
1999 devfs_mk_dir("ide");
2000 system_bus_speed = ide_system_bus_speed(); 1993 system_bus_speed = ide_system_bus_speed();
2001 1994
2002 bus_register(&ide_bus_type); 1995 bus_register(&ide_bus_type);
@@ -2074,7 +2067,6 @@ void cleanup_module (void)
2074#ifdef CONFIG_PROC_FS 2067#ifdef CONFIG_PROC_FS
2075 proc_ide_destroy(); 2068 proc_ide_destroy();
2076#endif 2069#endif
2077 devfs_remove("ide");
2078 2070
2079 bus_unregister(&ide_bus_type); 2071 bus_unregister(&ide_bus_type);
2080} 2072}
diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c
index 5a2703b536dc..71a8eea816cb 100644
--- a/drivers/input/serio/serio_raw.c
+++ b/drivers/input/serio/serio_raw.c
@@ -16,7 +16,6 @@
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/major.h> 17#include <linux/major.h>
18#include <linux/device.h> 18#include <linux/device.h>
19#include <linux/devfs_fs_kernel.h>
20#include <linux/miscdevice.h> 19#include <linux/miscdevice.h>
21#include <linux/wait.h> 20#include <linux/wait.h>
22#include <linux/mutex.h> 21#include <linux/mutex.h>
diff --git a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c
index 2e541fa02024..a518ec531021 100644
--- a/drivers/isdn/capi/capi.c
+++ b/drivers/isdn/capi/capi.c
@@ -39,7 +39,6 @@
39#include <linux/init.h> 39#include <linux/init.h>
40#include <linux/device.h> 40#include <linux/device.h>
41#include <linux/moduleparam.h> 41#include <linux/moduleparam.h>
42#include <linux/devfs_fs_kernel.h>
43#include <linux/isdn/capiutil.h> 42#include <linux/isdn/capiutil.h>
44#include <linux/isdn/capicmd.h> 43#include <linux/isdn/capicmd.h>
45#if defined(CONFIG_ISDN_CAPI_CAPIFS) || defined(CONFIG_ISDN_CAPI_CAPIFS_MODULE) 44#if defined(CONFIG_ISDN_CAPI_CAPIFS) || defined(CONFIG_ISDN_CAPI_CAPIFS_MODULE)
@@ -1337,7 +1336,6 @@ static int capinc_tty_init(void)
1337 1336
1338 drv->owner = THIS_MODULE; 1337 drv->owner = THIS_MODULE;
1339 drv->driver_name = "capi_nc"; 1338 drv->driver_name = "capi_nc";
1340 drv->devfs_name = "capi/";
1341 drv->name = "capi"; 1339 drv->name = "capi";
1342 drv->major = capi_ttymajor; 1340 drv->major = capi_ttymajor;
1343 drv->minor_start = 0; 1341 drv->minor_start = 0;
@@ -1516,8 +1514,6 @@ static int __init capi_init(void)
1516 } 1514 }
1517 1515
1518 class_device_create(capi_class, NULL, MKDEV(capi_major, 0), NULL, "capi"); 1516 class_device_create(capi_class, NULL, MKDEV(capi_major, 0), NULL, "capi");
1519 devfs_mk_cdev(MKDEV(capi_major, 0), S_IFCHR | S_IRUSR | S_IWUSR,
1520 "isdn/capi20");
1521 1517
1522#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE 1518#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
1523 if (capinc_tty_init() < 0) { 1519 if (capinc_tty_init() < 0) {
@@ -1552,7 +1548,6 @@ static void __exit capi_exit(void)
1552 class_device_destroy(capi_class, MKDEV(capi_major, 0)); 1548 class_device_destroy(capi_class, MKDEV(capi_major, 0));
1553 class_destroy(capi_class); 1549 class_destroy(capi_class);
1554 unregister_chrdev(capi_major, "capi20"); 1550 unregister_chrdev(capi_major, "capi20");
1555 devfs_remove("isdn/capi20");
1556 1551
1557#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE 1552#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
1558 capinc_tty_exit(); 1553 capinc_tty_exit();
diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c
index 8a45715dd4c1..3845defd4901 100644
--- a/drivers/isdn/gigaset/bas-gigaset.c
+++ b/drivers/isdn/gigaset/bas-gigaset.c
@@ -41,7 +41,6 @@ MODULE_PARM_DESC(cidmode, "Call-ID mode");
41#define GIGASET_MINORS 1 41#define GIGASET_MINORS 1
42#define GIGASET_MINOR 16 42#define GIGASET_MINOR 16
43#define GIGASET_MODULENAME "bas_gigaset" 43#define GIGASET_MODULENAME "bas_gigaset"
44#define GIGASET_DEVFSNAME "gig/bas/"
45#define GIGASET_DEVNAME "ttyGB" 44#define GIGASET_DEVNAME "ttyGB"
46 45
47/* length limit according to Siemens 3070usb-protokoll.doc ch. 2.1 */ 46/* length limit according to Siemens 3070usb-protokoll.doc ch. 2.1 */
@@ -2349,8 +2348,7 @@ static int __init bas_gigaset_init(void)
2349 /* allocate memory for our driver state and intialize it */ 2348 /* allocate memory for our driver state and intialize it */
2350 if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS, 2349 if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS,
2351 GIGASET_MODULENAME, GIGASET_DEVNAME, 2350 GIGASET_MODULENAME, GIGASET_DEVNAME,
2352 GIGASET_DEVFSNAME, &gigops, 2351 &gigops, THIS_MODULE)) == NULL)
2353 THIS_MODULE)) == NULL)
2354 goto error; 2352 goto error;
2355 2353
2356 /* allocate memory for our device state and intialize it */ 2354 /* allocate memory for our device state and intialize it */
diff --git a/drivers/isdn/gigaset/common.c b/drivers/isdn/gigaset/common.c
index 2a56bf33a673..aca165d43aa0 100644
--- a/drivers/isdn/gigaset/common.c
+++ b/drivers/isdn/gigaset/common.c
@@ -1092,14 +1092,12 @@ EXPORT_SYMBOL_GPL(gigaset_freedriver);
1092 * minors Number of minors this driver can handle 1092 * minors Number of minors this driver can handle
1093 * procname Name of the driver 1093 * procname Name of the driver
1094 * devname Name of the device files (prefix without minor number) 1094 * devname Name of the device files (prefix without minor number)
1095 * devfsname Devfs name of the device files without %d
1096 * return value: 1095 * return value:
1097 * Pointer to the gigaset_driver structure on success, NULL on failure. 1096 * Pointer to the gigaset_driver structure on success, NULL on failure.
1098 */ 1097 */
1099struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, 1098struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
1100 const char *procname, 1099 const char *procname,
1101 const char *devname, 1100 const char *devname,
1102 const char *devfsname,
1103 const struct gigaset_ops *ops, 1101 const struct gigaset_ops *ops,
1104 struct module *owner) 1102 struct module *owner)
1105{ 1103{
@@ -1139,7 +1137,7 @@ struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
1139 drv->cs[i].minor_index = i; 1137 drv->cs[i].minor_index = i;
1140 } 1138 }
1141 1139
1142 gigaset_if_initdriver(drv, procname, devname, devfsname); 1140 gigaset_if_initdriver(drv, procname, devname);
1143 1141
1144 spin_lock_irqsave(&driver_lock, flags); 1142 spin_lock_irqsave(&driver_lock, flags);
1145 list_add(&drv->list, &drivers); 1143 list_add(&drv->list, &drivers);
diff --git a/drivers/isdn/gigaset/gigaset.h b/drivers/isdn/gigaset/gigaset.h
index 8d63d822104f..1ca3bfdef51d 100644
--- a/drivers/isdn/gigaset/gigaset.h
+++ b/drivers/isdn/gigaset/gigaset.h
@@ -769,7 +769,6 @@ void gigaset_block_channels(struct cardstate *cs);
769struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, 769struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
770 const char *procname, 770 const char *procname,
771 const char *devname, 771 const char *devname,
772 const char *devfsname,
773 const struct gigaset_ops *ops, 772 const struct gigaset_ops *ops,
774 struct module *owner); 773 struct module *owner);
775 774
@@ -892,7 +891,7 @@ int gigaset_fill_inbuf(struct inbuf_t *inbuf, const unsigned char *src,
892 891
893/* initialize interface */ 892/* initialize interface */
894void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, 893void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
895 const char *devname, const char *devfsname); 894 const char *devname);
896/* release interface */ 895/* release interface */
897void gigaset_if_freedriver(struct gigaset_driver *drv); 896void gigaset_if_freedriver(struct gigaset_driver *drv);
898/* add minor */ 897/* add minor */
diff --git a/drivers/isdn/gigaset/interface.c b/drivers/isdn/gigaset/interface.c
index 74fd234956c8..bd2e4267528e 100644
--- a/drivers/isdn/gigaset/interface.c
+++ b/drivers/isdn/gigaset/interface.c
@@ -673,10 +673,9 @@ EXPORT_SYMBOL_GPL(gigaset_if_receive);
673 * drv Driver 673 * drv Driver
674 * procname Name of the driver (e.g. for /proc/tty/drivers) 674 * procname Name of the driver (e.g. for /proc/tty/drivers)
675 * devname Name of the device files (prefix without minor number) 675 * devname Name of the device files (prefix without minor number)
676 * devfsname Devfs name of the device files without %d
677 */ 676 */
678void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, 677void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
679 const char *devname, const char *devfsname) 678 const char *devname)
680{ 679{
681 unsigned minors = drv->minors; 680 unsigned minors = drv->minors;
682 int ret; 681 int ret;
@@ -692,7 +691,7 @@ void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
692 tty->major = GIG_MAJOR, 691 tty->major = GIG_MAJOR,
693 tty->type = TTY_DRIVER_TYPE_SERIAL, 692 tty->type = TTY_DRIVER_TYPE_SERIAL,
694 tty->subtype = SERIAL_TYPE_NORMAL, 693 tty->subtype = SERIAL_TYPE_NORMAL,
695 tty->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS, 694 tty->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
696 695
697 tty->driver_name = procname; 696 tty->driver_name = procname;
698 tty->name = devname; 697 tty->name = devname;
@@ -700,7 +699,6 @@ void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
700 tty->num = drv->minors; 699 tty->num = drv->minors;
701 700
702 tty->owner = THIS_MODULE; 701 tty->owner = THIS_MODULE;
703 tty->devfs_name = devfsname;
704 702
705 tty->init_termios = tty_std_termios; //FIXME 703 tty->init_termios = tty_std_termios; //FIXME
706 tty->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; //FIXME 704 tty->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; //FIXME
diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/isdn/gigaset/usb-gigaset.c
index d86ab68114b0..6e05d9d4a51a 100644
--- a/drivers/isdn/gigaset/usb-gigaset.c
+++ b/drivers/isdn/gigaset/usb-gigaset.c
@@ -41,7 +41,6 @@ MODULE_PARM_DESC(cidmode, "Call-ID mode");
41#define GIGASET_MINORS 1 41#define GIGASET_MINORS 1
42#define GIGASET_MINOR 8 42#define GIGASET_MINOR 8
43#define GIGASET_MODULENAME "usb_gigaset" 43#define GIGASET_MODULENAME "usb_gigaset"
44#define GIGASET_DEVFSNAME "gig/usb/"
45#define GIGASET_DEVNAME "ttyGU" 44#define GIGASET_DEVNAME "ttyGU"
46 45
47#define IF_WRITEBUF 2000 //FIXME // WAKEUP_CHARS: 256 46#define IF_WRITEBUF 2000 //FIXME // WAKEUP_CHARS: 256
@@ -896,8 +895,7 @@ static int __init usb_gigaset_init(void)
896 /* allocate memory for our driver state and intialize it */ 895 /* allocate memory for our driver state and intialize it */
897 if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS, 896 if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS,
898 GIGASET_MODULENAME, GIGASET_DEVNAME, 897 GIGASET_MODULENAME, GIGASET_DEVNAME,
899 GIGASET_DEVFSNAME, &ops, 898 &ops, THIS_MODULE)) == NULL)
900 THIS_MODULE)) == NULL)
901 goto error; 899 goto error;
902 900
903 /* allocate memory for our device state and intialize it */ 901 /* allocate memory for our device state and intialize it */
diff --git a/drivers/isdn/hardware/eicon/divamnt.c b/drivers/isdn/hardware/eicon/divamnt.c
index 6146f7633be5..b163c5909182 100644
--- a/drivers/isdn/hardware/eicon/divamnt.c
+++ b/drivers/isdn/hardware/eicon/divamnt.c
@@ -17,7 +17,6 @@
17#include <linux/sched.h> 17#include <linux/sched.h>
18#include <linux/smp_lock.h> 18#include <linux/smp_lock.h>
19#include <linux/poll.h> 19#include <linux/poll.h>
20#include <linux/devfs_fs_kernel.h>
21#include <asm/uaccess.h> 20#include <asm/uaccess.h>
22 21
23#include "platform.h" 22#include "platform.h"
@@ -178,7 +177,6 @@ static struct file_operations divas_maint_fops = {
178 177
179static void divas_maint_unregister_chrdev(void) 178static void divas_maint_unregister_chrdev(void)
180{ 179{
181 devfs_remove(DEVNAME);
182 unregister_chrdev(major, DEVNAME); 180 unregister_chrdev(major, DEVNAME);
183} 181}
184 182
@@ -190,7 +188,6 @@ static int DIVA_INIT_FUNCTION divas_maint_register_chrdev(void)
190 DRIVERLNAME); 188 DRIVERLNAME);
191 return (0); 189 return (0);
192 } 190 }
193 devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME);
194 191
195 return (1); 192 return (1);
196} 193}
diff --git a/drivers/isdn/hardware/eicon/divasi.c b/drivers/isdn/hardware/eicon/divasi.c
index df715b47e2b4..6e7d89a31c1d 100644
--- a/drivers/isdn/hardware/eicon/divasi.c
+++ b/drivers/isdn/hardware/eicon/divasi.c
@@ -19,7 +19,6 @@
19#include <linux/poll.h> 19#include <linux/poll.h>
20#include <linux/proc_fs.h> 20#include <linux/proc_fs.h>
21#include <linux/skbuff.h> 21#include <linux/skbuff.h>
22#include <linux/devfs_fs_kernel.h>
23#include <asm/uaccess.h> 22#include <asm/uaccess.h>
24 23
25#include "platform.h" 24#include "platform.h"
@@ -145,7 +144,6 @@ static struct file_operations divas_idi_fops = {
145 144
146static void divas_idi_unregister_chrdev(void) 145static void divas_idi_unregister_chrdev(void)
147{ 146{
148 devfs_remove(DEVNAME);
149 unregister_chrdev(major, DEVNAME); 147 unregister_chrdev(major, DEVNAME);
150} 148}
151 149
@@ -157,7 +155,6 @@ static int DIVA_INIT_FUNCTION divas_idi_register_chrdev(void)
157 DRIVERLNAME); 155 DRIVERLNAME);
158 return (0); 156 return (0);
159 } 157 }
160 devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME);
161 158
162 return (1); 159 return (1);
163} 160}
diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c
index c9b26e86d183..9dee6a39104c 100644
--- a/drivers/isdn/hardware/eicon/divasmain.c
+++ b/drivers/isdn/hardware/eicon/divasmain.c
@@ -14,7 +14,6 @@
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/sched.h> 16#include <linux/sched.h>
17#include <linux/devfs_fs_kernel.h>
18#include <asm/uaccess.h> 17#include <asm/uaccess.h>
19#include <asm/io.h> 18#include <asm/io.h>
20#include <linux/ioport.h> 19#include <linux/ioport.h>
@@ -678,7 +677,6 @@ static struct file_operations divas_fops = {
678 677
679static void divas_unregister_chrdev(void) 678static void divas_unregister_chrdev(void)
680{ 679{
681 devfs_remove(DEVNAME);
682 unregister_chrdev(major, DEVNAME); 680 unregister_chrdev(major, DEVNAME);
683} 681}
684 682
@@ -690,7 +688,6 @@ static int DIVA_INIT_FUNCTION divas_register_chrdev(void)
690 DRIVERLNAME); 688 DRIVERLNAME);
691 return (0); 689 return (0);
692 } 690 }
693 devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME);
694 691
695 return (1); 692 return (1);
696} 693}
diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c
index 433389daedb2..0a53a990c100 100644
--- a/drivers/isdn/i4l/isdn_tty.c
+++ b/drivers/isdn/i4l/isdn_tty.c
@@ -1890,14 +1890,13 @@ isdn_tty_modem_init(void)
1890 if (!m->tty_modem) 1890 if (!m->tty_modem)
1891 return -ENOMEM; 1891 return -ENOMEM;
1892 m->tty_modem->name = "ttyI"; 1892 m->tty_modem->name = "ttyI";
1893 m->tty_modem->devfs_name = "isdn/ttyI";
1894 m->tty_modem->major = ISDN_TTY_MAJOR; 1893 m->tty_modem->major = ISDN_TTY_MAJOR;
1895 m->tty_modem->minor_start = 0; 1894 m->tty_modem->minor_start = 0;
1896 m->tty_modem->type = TTY_DRIVER_TYPE_SERIAL; 1895 m->tty_modem->type = TTY_DRIVER_TYPE_SERIAL;
1897 m->tty_modem->subtype = SERIAL_TYPE_NORMAL; 1896 m->tty_modem->subtype = SERIAL_TYPE_NORMAL;
1898 m->tty_modem->init_termios = tty_std_termios; 1897 m->tty_modem->init_termios = tty_std_termios;
1899 m->tty_modem->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; 1898 m->tty_modem->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
1900 m->tty_modem->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 1899 m->tty_modem->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
1901 m->tty_modem->driver_name = "isdn_tty"; 1900 m->tty_modem->driver_name = "isdn_tty";
1902 tty_set_operations(m->tty_modem, &modem_ops); 1901 tty_set_operations(m->tty_modem, &modem_ops);
1903 retval = tty_register_driver(m->tty_modem); 1902 retval = tty_register_driver(m->tty_modem);
diff --git a/drivers/macintosh/adb.c b/drivers/macintosh/adb.c
index 259fd8973ce9..9f1a049dc226 100644
--- a/drivers/macintosh/adb.c
+++ b/drivers/macintosh/adb.c
@@ -36,7 +36,6 @@
36#include <linux/spinlock.h> 36#include <linux/spinlock.h>
37#include <linux/completion.h> 37#include <linux/completion.h>
38#include <linux/device.h> 38#include <linux/device.h>
39#include <linux/devfs_fs_kernel.h>
40 39
41#include <asm/uaccess.h> 40#include <asm/uaccess.h>
42#include <asm/semaphore.h> 41#include <asm/semaphore.h>
@@ -904,8 +903,6 @@ adbdev_init(void)
904 return; 903 return;
905 } 904 }
906 905
907 devfs_mk_cdev(MKDEV(ADB_MAJOR, 0), S_IFCHR | S_IRUSR | S_IWUSR, "adb");
908
909 adb_dev_class = class_create(THIS_MODULE, "adb"); 906 adb_dev_class = class_create(THIS_MODULE, "adb");
910 if (IS_ERR(adb_dev_class)) 907 if (IS_ERR(adb_dev_class))
911 return; 908 return;
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
index 3edb3477f987..d13bb15a8a02 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -13,7 +13,6 @@
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/wait.h> 14#include <linux/wait.h>
15#include <linux/slab.h> 15#include <linux/slab.h>
16#include <linux/devfs_fs_kernel.h>
17#include <linux/dm-ioctl.h> 16#include <linux/dm-ioctl.h>
18#include <linux/hdreg.h> 17#include <linux/hdreg.h>
19 18
@@ -68,14 +67,12 @@ static int dm_hash_init(void)
68{ 67{
69 init_buckets(_name_buckets); 68 init_buckets(_name_buckets);
70 init_buckets(_uuid_buckets); 69 init_buckets(_uuid_buckets);
71 devfs_mk_dir(DM_DIR);
72 return 0; 70 return 0;
73} 71}
74 72
75static void dm_hash_exit(void) 73static void dm_hash_exit(void)
76{ 74{
77 dm_hash_remove_all(0); 75 dm_hash_remove_all(0);
78 devfs_remove(DM_DIR);
79} 76}
80 77
81/*----------------------------------------------------------------- 78/*-----------------------------------------------------------------
@@ -172,25 +169,6 @@ static void free_cell(struct hash_cell *hc)
172} 169}
173 170
174/* 171/*
175 * devfs stuff.
176 */
177static int register_with_devfs(struct hash_cell *hc)
178{
179 struct gendisk *disk = dm_disk(hc->md);
180
181 devfs_mk_bdev(MKDEV(disk->major, disk->first_minor),
182 S_IFBLK | S_IRUSR | S_IWUSR | S_IRGRP,
183 DM_DIR "/%s", hc->name);
184 return 0;
185}
186
187static int unregister_with_devfs(struct hash_cell *hc)
188{
189 devfs_remove(DM_DIR"/%s", hc->name);
190 return 0;
191}
192
193/*
194 * The kdev_t and uuid of a device can never change once it is 172 * The kdev_t and uuid of a device can never change once it is
195 * initially inserted. 173 * initially inserted.
196 */ 174 */
@@ -226,7 +204,6 @@ static int dm_hash_insert(const char *name, const char *uuid, struct mapped_devi
226 } 204 }
227 list_add(&cell->uuid_list, _uuid_buckets + hash_str(uuid)); 205 list_add(&cell->uuid_list, _uuid_buckets + hash_str(uuid));
228 } 206 }
229 register_with_devfs(cell);
230 dm_get(md); 207 dm_get(md);
231 dm_set_mdptr(md, cell); 208 dm_set_mdptr(md, cell);
232 up_write(&_hash_lock); 209 up_write(&_hash_lock);
@@ -246,7 +223,6 @@ static void __hash_remove(struct hash_cell *hc)
246 /* remove from the dev hash */ 223 /* remove from the dev hash */
247 list_del(&hc->uuid_list); 224 list_del(&hc->uuid_list);
248 list_del(&hc->name_list); 225 list_del(&hc->name_list);
249 unregister_with_devfs(hc);
250 dm_set_mdptr(hc->md, NULL); 226 dm_set_mdptr(hc->md, NULL);
251 227
252 table = dm_get_table(hc->md); 228 table = dm_get_table(hc->md);
@@ -342,16 +318,11 @@ static int dm_hash_rename(const char *old, const char *new)
342 /* 318 /*
343 * rename and move the name cell. 319 * rename and move the name cell.
344 */ 320 */
345 unregister_with_devfs(hc);
346
347 list_del(&hc->name_list); 321 list_del(&hc->name_list);
348 old_name = hc->name; 322 old_name = hc->name;
349 hc->name = new_name; 323 hc->name = new_name;
350 list_add(&hc->name_list, _name_buckets + hash_str(new_name)); 324 list_add(&hc->name_list, _name_buckets + hash_str(new_name));
351 325
352 /* rename the device node in devfs */
353 register_with_devfs(hc);
354
355 /* 326 /*
356 * Wake up any dm event waiters. 327 * Wake up any dm event waiters.
357 */ 328 */
@@ -1501,7 +1472,6 @@ static struct file_operations _ctl_fops = {
1501static struct miscdevice _dm_misc = { 1472static struct miscdevice _dm_misc = {
1502 .minor = MISC_DYNAMIC_MINOR, 1473 .minor = MISC_DYNAMIC_MINOR,
1503 .name = DM_NAME, 1474 .name = DM_NAME,
1504 .devfs_name = "mapper/control",
1505 .fops = &_ctl_fops 1475 .fops = &_ctl_fops
1506}; 1476};
1507 1477
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 3ed2e53b9eb6..c99bf9f01759 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -167,7 +167,7 @@ static void local_exit(void)
167 bioset_free(dm_set); 167 bioset_free(dm_set);
168 168
169 if (unregister_blkdev(_major, _name) < 0) 169 if (unregister_blkdev(_major, _name) < 0)
170 DMERR("devfs_unregister_blkdev failed"); 170 DMERR("unregister_blkdev failed");
171 171
172 _major = 0; 172 _major = 0;
173 173
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 306268ec99ff..2ec1b3520a0b 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -39,7 +39,6 @@
39#include <linux/raid/md.h> 39#include <linux/raid/md.h>
40#include <linux/raid/bitmap.h> 40#include <linux/raid/bitmap.h>
41#include <linux/sysctl.h> 41#include <linux/sysctl.h>
42#include <linux/devfs_fs_kernel.h>
43#include <linux/buffer_head.h> /* for invalidate_bdev */ 42#include <linux/buffer_head.h> /* for invalidate_bdev */
44#include <linux/suspend.h> 43#include <linux/suspend.h>
45#include <linux/poll.h> 44#include <linux/poll.h>
@@ -2911,13 +2910,10 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
2911 } 2910 }
2912 disk->major = MAJOR(dev); 2911 disk->major = MAJOR(dev);
2913 disk->first_minor = unit << shift; 2912 disk->first_minor = unit << shift;
2914 if (partitioned) { 2913 if (partitioned)
2915 sprintf(disk->disk_name, "md_d%d", unit); 2914 sprintf(disk->disk_name, "md_d%d", unit);
2916 sprintf(disk->devfs_name, "md/d%d", unit); 2915 else
2917 } else {
2918 sprintf(disk->disk_name, "md%d", unit); 2916 sprintf(disk->disk_name, "md%d", unit);
2919 sprintf(disk->devfs_name, "md/%d", unit);
2920 }
2921 disk->fops = &md_fops; 2917 disk->fops = &md_fops;
2922 disk->private_data = mddev; 2918 disk->private_data = mddev;
2923 disk->queue = mddev->queue; 2919 disk->queue = mddev->queue;
@@ -5538,8 +5534,6 @@ static void md_geninit(void)
5538 5534
5539static int __init md_init(void) 5535static int __init md_init(void)
5540{ 5536{
5541 int minor;
5542
5543 printk(KERN_INFO "md: md driver %d.%d.%d MAX_MD_DEVS=%d," 5537 printk(KERN_INFO "md: md driver %d.%d.%d MAX_MD_DEVS=%d,"
5544 " MD_SB_DISKS=%d\n", 5538 " MD_SB_DISKS=%d\n",
5545 MD_MAJOR_VERSION, MD_MINOR_VERSION, 5539 MD_MAJOR_VERSION, MD_MINOR_VERSION,
@@ -5553,23 +5547,11 @@ static int __init md_init(void)
5553 unregister_blkdev(MAJOR_NR, "md"); 5547 unregister_blkdev(MAJOR_NR, "md");
5554 return -1; 5548 return -1;
5555 } 5549 }
5556 devfs_mk_dir("md");
5557 blk_register_region(MKDEV(MAJOR_NR, 0), MAX_MD_DEVS, THIS_MODULE, 5550 blk_register_region(MKDEV(MAJOR_NR, 0), MAX_MD_DEVS, THIS_MODULE,
5558 md_probe, NULL, NULL); 5551 md_probe, NULL, NULL);
5559 blk_register_region(MKDEV(mdp_major, 0), MAX_MD_DEVS<<MdpMinorShift, THIS_MODULE, 5552 blk_register_region(MKDEV(mdp_major, 0), MAX_MD_DEVS<<MdpMinorShift, THIS_MODULE,
5560 md_probe, NULL, NULL); 5553 md_probe, NULL, NULL);
5561 5554
5562 for (minor=0; minor < MAX_MD_DEVS; ++minor)
5563 devfs_mk_bdev(MKDEV(MAJOR_NR, minor),
5564 S_IFBLK|S_IRUSR|S_IWUSR,
5565 "md/%d", minor);
5566
5567 for (minor=0; minor < MAX_MD_DEVS; ++minor)
5568 devfs_mk_bdev(MKDEV(mdp_major, minor<<MdpMinorShift),
5569 S_IFBLK|S_IRUSR|S_IWUSR,
5570 "md/mdp%d", minor);
5571
5572
5573 register_reboot_notifier(&md_notifier); 5555 register_reboot_notifier(&md_notifier);
5574 raid_table_header = register_sysctl_table(raid_root_table, 1); 5556 raid_table_header = register_sysctl_table(raid_root_table, 1);
5575 5557
@@ -5625,15 +5607,9 @@ static __exit void md_exit(void)
5625{ 5607{
5626 mddev_t *mddev; 5608 mddev_t *mddev;
5627 struct list_head *tmp; 5609 struct list_head *tmp;
5628 int i; 5610
5629 blk_unregister_region(MKDEV(MAJOR_NR,0), MAX_MD_DEVS); 5611 blk_unregister_region(MKDEV(MAJOR_NR,0), MAX_MD_DEVS);
5630 blk_unregister_region(MKDEV(mdp_major,0), MAX_MD_DEVS << MdpMinorShift); 5612 blk_unregister_region(MKDEV(mdp_major,0), MAX_MD_DEVS << MdpMinorShift);
5631 for (i=0; i < MAX_MD_DEVS; i++)
5632 devfs_remove("md/%d", i);
5633 for (i=0; i < MAX_MD_DEVS; i++)
5634 devfs_remove("md/d%d", i);
5635
5636 devfs_remove("md");
5637 5613
5638 unregister_blkdev(MAJOR_NR,"md"); 5614 unregister_blkdev(MAJOR_NR,"md");
5639 unregister_blkdev(mdp_major, "mdp"); 5615 unregister_blkdev(mdp_major, "mdp");
diff --git a/drivers/media/dvb/dvb-core/dvbdev.c b/drivers/media/dvb/dvb-core/dvbdev.c
index 134c2bbbeeb5..40774feb8953 100644
--- a/drivers/media/dvb/dvb-core/dvbdev.c
+++ b/drivers/media/dvb/dvb-core/dvbdev.c
@@ -231,10 +231,6 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
231 231
232 mutex_unlock(&dvbdev_register_lock); 232 mutex_unlock(&dvbdev_register_lock);
233 233
234 devfs_mk_cdev(MKDEV(DVB_MAJOR, nums2minor(adap->num, type, id)),
235 S_IFCHR | S_IRUSR | S_IWUSR,
236 "dvb/adapter%d/%s%d", adap->num, dnames[type], id);
237
238 class_device_create(dvb_class, NULL, MKDEV(DVB_MAJOR, nums2minor(adap->num, type, id)), 234 class_device_create(dvb_class, NULL, MKDEV(DVB_MAJOR, nums2minor(adap->num, type, id)),
239 adap->device, "dvb%d.%s%d", adap->num, dnames[type], id); 235 adap->device, "dvb%d.%s%d", adap->num, dnames[type], id);
240 236
@@ -252,9 +248,6 @@ void dvb_unregister_device(struct dvb_device *dvbdev)
252 if (!dvbdev) 248 if (!dvbdev)
253 return; 249 return;
254 250
255 devfs_remove("dvb/adapter%d/%s%d", dvbdev->adapter->num,
256 dnames[dvbdev->type], dvbdev->id);
257
258 class_device_destroy(dvb_class, MKDEV(DVB_MAJOR, nums2minor(dvbdev->adapter->num, 251 class_device_destroy(dvb_class, MKDEV(DVB_MAJOR, nums2minor(dvbdev->adapter->num,
259 dvbdev->type, dvbdev->id))); 252 dvbdev->type, dvbdev->id)));
260 253
@@ -302,7 +295,6 @@ int dvb_register_adapter(struct dvb_adapter *adap, const char *name, struct modu
302 295
303 printk ("DVB: registering new adapter (%s).\n", name); 296 printk ("DVB: registering new adapter (%s).\n", name);
304 297
305 devfs_mk_dir("dvb/adapter%d", num);
306 adap->num = num; 298 adap->num = num;
307 adap->name = name; 299 adap->name = name;
308 adap->module = module; 300 adap->module = module;
@@ -319,8 +311,6 @@ EXPORT_SYMBOL(dvb_register_adapter);
319 311
320int dvb_unregister_adapter(struct dvb_adapter *adap) 312int dvb_unregister_adapter(struct dvb_adapter *adap)
321{ 313{
322 devfs_remove("dvb/adapter%d", adap->num);
323
324 if (mutex_lock_interruptible(&dvbdev_register_lock)) 314 if (mutex_lock_interruptible(&dvbdev_register_lock))
325 return -ERESTARTSYS; 315 return -ERESTARTSYS;
326 list_del (&adap->list_head); 316 list_del (&adap->list_head);
@@ -410,8 +400,6 @@ static int __init init_dvbdev(void)
410 goto error; 400 goto error;
411 } 401 }
412 402
413 devfs_mk_dir("dvb");
414
415 dvb_class = class_create(THIS_MODULE, "dvb"); 403 dvb_class = class_create(THIS_MODULE, "dvb");
416 if (IS_ERR(dvb_class)) { 404 if (IS_ERR(dvb_class)) {
417 retval = PTR_ERR(dvb_class); 405 retval = PTR_ERR(dvb_class);
@@ -428,7 +416,6 @@ error:
428 416
429static void __exit exit_dvbdev(void) 417static void __exit exit_dvbdev(void)
430{ 418{
431 devfs_remove("dvb");
432 class_destroy(dvb_class); 419 class_destroy(dvb_class);
433 cdev_del(&dvb_device_cdev); 420 cdev_del(&dvb_device_cdev);
434 unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS); 421 unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS);
diff --git a/drivers/media/dvb/dvb-core/dvbdev.h b/drivers/media/dvb/dvb-core/dvbdev.h
index d7a976d040d7..7a7f75fd168c 100644
--- a/drivers/media/dvb/dvb-core/dvbdev.h
+++ b/drivers/media/dvb/dvb-core/dvbdev.h
@@ -27,7 +27,6 @@
27#include <linux/poll.h> 27#include <linux/poll.h>
28#include <linux/fs.h> 28#include <linux/fs.h>
29#include <linux/list.h> 29#include <linux/list.h>
30#include <linux/devfs_fs_kernel.h>
31#include <linux/smp_lock.h> 30#include <linux/smp_lock.h>
32 31
33#define DVB_MAJOR 212 32#define DVB_MAJOR 212
diff --git a/drivers/media/dvb/ttpci/av7110.h b/drivers/media/dvb/ttpci/av7110.h
index 3e2e12124bae..9c79696da08a 100644
--- a/drivers/media/dvb/ttpci/av7110.h
+++ b/drivers/media/dvb/ttpci/av7110.h
@@ -6,10 +6,6 @@
6#include <linux/netdevice.h> 6#include <linux/netdevice.h>
7#include <linux/i2c.h> 7#include <linux/i2c.h>
8 8
9#ifdef CONFIG_DEVFS_FS
10#include <linux/devfs_fs_kernel.h>
11#endif
12
13#include <linux/dvb/video.h> 9#include <linux/dvb/video.h>
14#include <linux/dvb/audio.h> 10#include <linux/dvb/audio.h>
15#include <linux/dvb/dmx.h> 11#include <linux/dvb/dmx.h>
diff --git a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
index 14559ef6153c..336b2fe1a5f2 100644
--- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
@@ -126,10 +126,6 @@ struct ttusb {
126 126
127 int revision; 127 int revision;
128 128
129#if 0
130 devfs_handle_t stc_devfs_handle;
131#endif
132
133 struct dvb_frontend* fe; 129 struct dvb_frontend* fe;
134}; 130};
135 131
@@ -1746,13 +1742,6 @@ static int ttusb_probe(struct usb_interface *intf, const struct usb_device_id *i
1746 return -ENODEV; 1742 return -ENODEV;
1747 } 1743 }
1748 1744
1749#if 0
1750 ttusb->stc_devfs_handle =
1751 devfs_register(ttusb->adapter->devfs_handle, TTUSB_BUDGET_NAME,
1752 DEVFS_FL_DEFAULT, 0, 192,
1753 S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP
1754 | S_IROTH | S_IWOTH, &stc_fops, ttusb);
1755#endif
1756 usb_set_intfdata(intf, (void *) ttusb); 1745 usb_set_intfdata(intf, (void *) ttusb);
1757 1746
1758 frontend_init(ttusb); 1747 frontend_init(ttusb);
diff --git a/drivers/media/radio/miropcm20-rds.c b/drivers/media/radio/miropcm20-rds.c
index 87b37b7691da..c1b1db65e668 100644
--- a/drivers/media/radio/miropcm20-rds.c
+++ b/drivers/media/radio/miropcm20-rds.c
@@ -115,7 +115,6 @@ static struct file_operations rds_fops = {
115static struct miscdevice rds_miscdev = { 115static struct miscdevice rds_miscdev = {
116 .minor = MISC_DYNAMIC_MINOR, 116 .minor = MISC_DYNAMIC_MINOR,
117 .name = "radiotext", 117 .name = "radiotext",
118 .devfs_name = "v4l/rds/radiotext",
119 .fops = &rds_fops, 118 .fops = &rds_fops,
120}; 119};
121 120
diff --git a/drivers/media/video/arv.c b/drivers/media/video/arv.c
index 6e08e32346eb..ae14f5f32039 100644
--- a/drivers/media/video/arv.c
+++ b/drivers/media/video/arv.c
@@ -20,7 +20,6 @@
20 20
21#include <linux/config.h> 21#include <linux/config.h>
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/devfs_fs_kernel.h>
24#include <linux/module.h> 23#include <linux/module.h>
25#include <linux/delay.h> 24#include <linux/delay.h>
26#include <linux/errno.h> 25#include <linux/errno.h>
diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c
index 2dfa7f23d0ca..b26ebaff226f 100644
--- a/drivers/media/video/videodev.c
+++ b/drivers/media/video/videodev.c
@@ -37,7 +37,6 @@
37#include <linux/init.h> 37#include <linux/init.h>
38#include <linux/kmod.h> 38#include <linux/kmod.h>
39#include <linux/slab.h> 39#include <linux/slab.h>
40#include <linux/devfs_fs_kernel.h>
41#include <asm/uaccess.h> 40#include <asm/uaccess.h>
42#include <asm/system.h> 41#include <asm/system.h>
43 42
@@ -1563,10 +1562,6 @@ int video_register_device(struct video_device *vfd, int type, int nr)
1563 video_device[i]=vfd; 1562 video_device[i]=vfd;
1564 vfd->minor=i; 1563 vfd->minor=i;
1565 mutex_unlock(&videodev_lock); 1564 mutex_unlock(&videodev_lock);
1566
1567 sprintf(vfd->devfs_name, "v4l/%s%d", name_base, i - base);
1568 devfs_mk_cdev(MKDEV(VIDEO_MAJOR, vfd->minor),
1569 S_IFCHR | S_IRUSR | S_IWUSR, vfd->devfs_name);
1570 mutex_init(&vfd->lock); 1565 mutex_init(&vfd->lock);
1571 1566
1572 /* sysfs class */ 1567 /* sysfs class */
@@ -1575,7 +1570,7 @@ int video_register_device(struct video_device *vfd, int type, int nr)
1575 vfd->class_dev.dev = vfd->dev; 1570 vfd->class_dev.dev = vfd->dev;
1576 vfd->class_dev.class = &video_class; 1571 vfd->class_dev.class = &video_class;
1577 vfd->class_dev.devt = MKDEV(VIDEO_MAJOR, vfd->minor); 1572 vfd->class_dev.devt = MKDEV(VIDEO_MAJOR, vfd->minor);
1578 strlcpy(vfd->class_dev.class_id, vfd->devfs_name + 4, BUS_ID_SIZE); 1573 sprintf(vfd->class_dev.class_id, "%s%d", name_base, i - base);
1579 class_device_register(&vfd->class_dev); 1574 class_device_register(&vfd->class_dev);
1580 class_device_create_file(&vfd->class_dev, 1575 class_device_create_file(&vfd->class_dev,
1581 &class_device_attr_name); 1576 &class_device_attr_name);
@@ -1604,7 +1599,6 @@ void video_unregister_device(struct video_device *vfd)
1604 if(video_device[vfd->minor]!=vfd) 1599 if(video_device[vfd->minor]!=vfd)
1605 panic("videodev: bad unregister"); 1600 panic("videodev: bad unregister");
1606 1601
1607 devfs_remove(vfd->devfs_name);
1608 video_device[vfd->minor]=NULL; 1602 video_device[vfd->minor]=NULL;
1609 class_device_unregister(&vfd->class_dev); 1603 class_device_unregister(&vfd->class_dev);
1610 mutex_unlock(&videodev_lock); 1604 mutex_unlock(&videodev_lock);
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c
index 7d4c5497785b..1ddc2fb429d5 100644
--- a/drivers/message/i2o/i2o_block.c
+++ b/drivers/message/i2o/i2o_block.c
@@ -1089,7 +1089,6 @@ static int i2o_block_probe(struct device *dev)
1089 gd = i2o_blk_dev->gd; 1089 gd = i2o_blk_dev->gd;
1090 gd->first_minor = unit << 4; 1090 gd->first_minor = unit << 4;
1091 sprintf(gd->disk_name, "i2o/hd%c", 'a' + unit); 1091 sprintf(gd->disk_name, "i2o/hd%c", 'a' + unit);
1092 sprintf(gd->devfs_name, "i2o/hd%c", 'a' + unit);
1093 gd->driverfs_dev = &i2o_dev->device; 1092 gd->driverfs_dev = &i2o_dev->device;
1094 1093
1095 /* setup request queue */ 1094 /* setup request queue */
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
index 587458b370b9..115cc21094b9 100644
--- a/drivers/mmc/mmc_block.c
+++ b/drivers/mmc/mmc_block.c
@@ -27,7 +27,6 @@
27#include <linux/hdreg.h> 27#include <linux/hdreg.h>
28#include <linux/kdev_t.h> 28#include <linux/kdev_t.h>
29#include <linux/blkdev.h> 29#include <linux/blkdev.h>
30#include <linux/devfs_fs_kernel.h>
31#include <linux/mutex.h> 30#include <linux/mutex.h>
32 31
33#include <linux/mmc/card.h> 32#include <linux/mmc/card.h>
@@ -409,7 +408,6 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
409 */ 408 */
410 409
411 sprintf(md->disk->disk_name, "mmcblk%d", devidx); 410 sprintf(md->disk->disk_name, "mmcblk%d", devidx);
412 sprintf(md->disk->devfs_name, "mmc/blk%d", devidx);
413 411
414 blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits); 412 blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
415 413
@@ -555,7 +553,6 @@ static int __init mmc_blk_init(void)
555 if (major == 0) 553 if (major == 0)
556 major = res; 554 major = res;
557 555
558 devfs_mk_dir("mmc");
559 return mmc_register_driver(&mmc_driver); 556 return mmc_register_driver(&mmc_driver);
560 557
561 out: 558 out:
@@ -565,7 +562,6 @@ static int __init mmc_blk_init(void)
565static void __exit mmc_blk_exit(void) 562static void __exit mmc_blk_exit(void)
566{ 563{
567 mmc_unregister_driver(&mmc_driver); 564 mmc_unregister_driver(&mmc_driver);
568 devfs_remove("mmc");
569 unregister_blkdev(major, "mmc"); 565 unregister_blkdev(major, "mmc");
570} 566}
571 567
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c
index d643a097faa5..425ff5b117f1 100644
--- a/drivers/net/ppp_generic.c
+++ b/drivers/net/ppp_generic.c
@@ -28,7 +28,6 @@
28#include <linux/kmod.h> 28#include <linux/kmod.h>
29#include <linux/init.h> 29#include <linux/init.h>
30#include <linux/list.h> 30#include <linux/list.h>
31#include <linux/devfs_fs_kernel.h>
32#include <linux/netdevice.h> 31#include <linux/netdevice.h>
33#include <linux/poll.h> 32#include <linux/poll.h>
34#include <linux/ppp_defs.h> 33#include <linux/ppp_defs.h>
@@ -863,10 +862,6 @@ static int __init ppp_init(void)
863 goto out_chrdev; 862 goto out_chrdev;
864 } 863 }
865 class_device_create(ppp_class, NULL, MKDEV(PPP_MAJOR, 0), NULL, "ppp"); 864 class_device_create(ppp_class, NULL, MKDEV(PPP_MAJOR, 0), NULL, "ppp");
866 err = devfs_mk_cdev(MKDEV(PPP_MAJOR, 0),
867 S_IFCHR|S_IRUSR|S_IWUSR, "ppp");
868 if (err)
869 goto out_class;
870 } 865 }
871 866
872out: 867out:
@@ -874,9 +869,6 @@ out:
874 printk(KERN_ERR "failed to register PPP device (%d)\n", err); 869 printk(KERN_ERR "failed to register PPP device (%d)\n", err);
875 return err; 870 return err;
876 871
877out_class:
878 class_device_destroy(ppp_class, MKDEV(PPP_MAJOR,0));
879 class_destroy(ppp_class);
880out_chrdev: 872out_chrdev:
881 unregister_chrdev(PPP_MAJOR, "ppp"); 873 unregister_chrdev(PPP_MAJOR, "ppp");
882 goto out; 874 goto out;
@@ -2681,7 +2673,6 @@ static void __exit ppp_cleanup(void)
2681 cardmap_destroy(&all_ppp_units); 2673 cardmap_destroy(&all_ppp_units);
2682 if (unregister_chrdev(PPP_MAJOR, "ppp") != 0) 2674 if (unregister_chrdev(PPP_MAJOR, "ppp") != 0)
2683 printk(KERN_ERR "PPP: failed to unregister PPP device\n"); 2675 printk(KERN_ERR "PPP: failed to unregister PPP device\n");
2684 devfs_remove("ppp");
2685 class_device_destroy(ppp_class, MKDEV(PPP_MAJOR, 0)); 2676 class_device_destroy(ppp_class, MKDEV(PPP_MAJOR, 0));
2686 class_destroy(ppp_class); 2677 class_destroy(ppp_class);
2687} 2678}
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 6c62d5c88268..732c5edec2e5 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -780,7 +780,6 @@ static struct miscdevice tun_miscdev = {
780 .minor = TUN_MINOR, 780 .minor = TUN_MINOR,
781 .name = "tun", 781 .name = "tun",
782 .fops = &tun_fops, 782 .fops = &tun_fops,
783 .devfs_name = "net/tun",
784}; 783};
785 784
786/* ethtool interface */ 785/* ethtool interface */
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index e392ee8b37a1..be5e33814cb1 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -85,7 +85,6 @@
85#include <linux/slab.h> 85#include <linux/slab.h>
86#include <linux/poll.h> 86#include <linux/poll.h>
87#include <linux/fs.h> 87#include <linux/fs.h>
88#include <linux/devfs_fs_kernel.h>
89#include <linux/interrupt.h> 88#include <linux/interrupt.h>
90#include <linux/delay.h> 89#include <linux/delay.h>
91#include <linux/errno.h> 90#include <linux/errno.h>
@@ -393,7 +392,6 @@ static int __init cosa_init(void)
393 err = -ENODEV; 392 err = -ENODEV;
394 goto out; 393 goto out;
395 } 394 }
396 devfs_mk_dir("cosa");
397 cosa_class = class_create(THIS_MODULE, "cosa"); 395 cosa_class = class_create(THIS_MODULE, "cosa");
398 if (IS_ERR(cosa_class)) { 396 if (IS_ERR(cosa_class)) {
399 err = PTR_ERR(cosa_class); 397 err = PTR_ERR(cosa_class);
@@ -402,13 +400,6 @@ static int __init cosa_init(void)
402 for (i=0; i<nr_cards; i++) { 400 for (i=0; i<nr_cards; i++) {
403 class_device_create(cosa_class, NULL, MKDEV(cosa_major, i), 401 class_device_create(cosa_class, NULL, MKDEV(cosa_major, i),
404 NULL, "cosa%d", i); 402 NULL, "cosa%d", i);
405 err = devfs_mk_cdev(MKDEV(cosa_major, i),
406 S_IFCHR|S_IRUSR|S_IWUSR,
407 "cosa/%d", i);
408 if (err) {
409 class_device_destroy(cosa_class, MKDEV(cosa_major, i));
410 goto out_chrdev;
411 }
412 } 403 }
413 err = 0; 404 err = 0;
414 goto out; 405 goto out;
@@ -426,12 +417,9 @@ static void __exit cosa_exit(void)
426 int i; 417 int i;
427 printk(KERN_INFO "Unloading the cosa module\n"); 418 printk(KERN_INFO "Unloading the cosa module\n");
428 419
429 for (i=0; i<nr_cards; i++) { 420 for (i=0; i<nr_cards; i++)
430 class_device_destroy(cosa_class, MKDEV(cosa_major, i)); 421 class_device_destroy(cosa_class, MKDEV(cosa_major, i));
431 devfs_remove("cosa/%d", i);
432 }
433 class_destroy(cosa_class); 422 class_destroy(cosa_class);
434 devfs_remove("cosa");
435 for (cosa=cosa_cards; nr_cards--; cosa++) { 423 for (cosa=cosa_cards; nr_cards--; cosa++) {
436 /* Clean up the per-channel data */ 424 /* Clean up the per-channel data */
437 for (i=0; i<cosa->nchannels; i++) { 425 for (i=0; i<cosa->nchannels; i++) {
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index bafcd2f20ae2..2dc179b14ce6 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -1834,7 +1834,6 @@ dasd_exit(void)
1834 } 1834 }
1835 dasd_gendisk_exit(); 1835 dasd_gendisk_exit();
1836 dasd_devmap_exit(); 1836 dasd_devmap_exit();
1837 devfs_remove("dasd");
1838 if (dasd_debug_area != NULL) { 1837 if (dasd_debug_area != NULL) {
1839 debug_unregister(dasd_debug_area); 1838 debug_unregister(dasd_debug_area);
1840 dasd_debug_area = NULL; 1839 dasd_debug_area = NULL;
@@ -2107,9 +2106,6 @@ dasd_init(void)
2107 2106
2108 dasd_diag_discipline_pointer = NULL; 2107 dasd_diag_discipline_pointer = NULL;
2109 2108
2110 rc = devfs_mk_dir("dasd");
2111 if (rc)
2112 goto failed;
2113 rc = dasd_devmap_init(); 2109 rc = dasd_devmap_init();
2114 if (rc) 2110 if (rc)
2115 goto failed; 2111 goto failed;
diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c
index fce2835e7d19..61ffde718a7a 100644
--- a/drivers/s390/block/dasd_genhd.c
+++ b/drivers/s390/block/dasd_genhd.c
@@ -68,8 +68,6 @@ dasd_gendisk_alloc(struct dasd_device *device)
68 } 68 }
69 len += sprintf(gdp->disk_name + len, "%c", 'a'+(device->devindex%26)); 69 len += sprintf(gdp->disk_name + len, "%c", 'a'+(device->devindex%26));
70 70
71 sprintf(gdp->devfs_name, "dasd/%s", device->cdev->dev.bus_id);
72
73 if (device->features & DASD_FEATURE_READONLY) 71 if (device->features & DASD_FEATURE_READONLY)
74 set_disk_ro(gdp, 1); 72 set_disk_ro(gdp, 1);
75 gdp->private_data = device; 73 gdp->private_data = device;
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h
index 03a83efc34c4..3ccf06d28ba1 100644
--- a/drivers/s390/block/dasd_int.h
+++ b/drivers/s390/block/dasd_int.h
@@ -54,7 +54,6 @@
54#include <linux/module.h> 54#include <linux/module.h>
55#include <linux/wait.h> 55#include <linux/wait.h>
56#include <linux/blkdev.h> 56#include <linux/blkdev.h>
57#include <linux/devfs_fs_kernel.h>
58#include <linux/genhd.h> 57#include <linux/genhd.h>
59#include <linux/hdreg.h> 58#include <linux/hdreg.h>
60#include <linux/interrupt.h> 59#include <linux/interrupt.h>
diff --git a/drivers/s390/block/xpram.c b/drivers/s390/block/xpram.c
index 54ecd548c318..4c1e56b9b98d 100644
--- a/drivers/s390/block/xpram.c
+++ b/drivers/s390/block/xpram.c
@@ -36,7 +36,6 @@
36#include <linux/hdreg.h> /* HDIO_GETGEO */ 36#include <linux/hdreg.h> /* HDIO_GETGEO */
37#include <linux/sysdev.h> 37#include <linux/sysdev.h>
38#include <linux/bio.h> 38#include <linux/bio.h>
39#include <linux/devfs_fs_kernel.h>
40#include <asm/uaccess.h> 39#include <asm/uaccess.h>
41 40
42#define XPRAM_NAME "xpram" 41#define XPRAM_NAME "xpram"
@@ -439,8 +438,6 @@ static int __init xpram_setup_blkdev(void)
439 if (rc < 0) 438 if (rc < 0)
440 goto out; 439 goto out;
441 440
442 devfs_mk_dir("slram");
443
444 /* 441 /*
445 * Assign the other needed values: make request function, sizes and 442 * Assign the other needed values: make request function, sizes and
446 * hardsect size. All the minor devices feature the same value. 443 * hardsect size. All the minor devices feature the same value.
@@ -469,14 +466,12 @@ static int __init xpram_setup_blkdev(void)
469 disk->private_data = &xpram_devices[i]; 466 disk->private_data = &xpram_devices[i];
470 disk->queue = xpram_queue; 467 disk->queue = xpram_queue;
471 sprintf(disk->disk_name, "slram%d", i); 468 sprintf(disk->disk_name, "slram%d", i);
472 sprintf(disk->devfs_name, "slram/%d", i);
473 set_capacity(disk, xpram_sizes[i] << 1); 469 set_capacity(disk, xpram_sizes[i] << 1);
474 add_disk(disk); 470 add_disk(disk);
475 } 471 }
476 472
477 return 0; 473 return 0;
478out_unreg: 474out_unreg:
479 devfs_remove("slram");
480 unregister_blkdev(XPRAM_MAJOR, XPRAM_NAME); 475 unregister_blkdev(XPRAM_MAJOR, XPRAM_NAME);
481out: 476out:
482 while (i--) 477 while (i--)
@@ -495,7 +490,6 @@ static void __exit xpram_exit(void)
495 put_disk(xpram_disks[i]); 490 put_disk(xpram_disks[i]);
496 } 491 }
497 unregister_blkdev(XPRAM_MAJOR, XPRAM_NAME); 492 unregister_blkdev(XPRAM_MAJOR, XPRAM_NAME);
498 devfs_remove("slram");
499 blk_cleanup_queue(xpram_queue); 493 blk_cleanup_queue(xpram_queue);
500 sysdev_unregister(&xpram_sys_device); 494 sysdev_unregister(&xpram_sys_device);
501 sysdev_class_unregister(&xpram_sysclass); 495 sysdev_class_unregister(&xpram_sysclass);
diff --git a/drivers/s390/char/monreader.c b/drivers/s390/char/monreader.c
index fb7bc9e5eebc..a138b1510093 100644
--- a/drivers/s390/char/monreader.c
+++ b/drivers/s390/char/monreader.c
@@ -586,7 +586,6 @@ static struct file_operations mon_fops = {
586 586
587static struct miscdevice mon_dev = { 587static struct miscdevice mon_dev = {
588 .name = "monreader", 588 .name = "monreader",
589 .devfs_name = "monreader",
590 .fops = &mon_fops, 589 .fops = &mon_fops,
591 .minor = MISC_DYNAMIC_MINOR, 590 .minor = MISC_DYNAMIC_MINOR,
592}; 591};
diff --git a/drivers/s390/char/tty3270.c b/drivers/s390/char/tty3270.c
index 9a141776873f..7d26a3e4cb80 100644
--- a/drivers/s390/char/tty3270.c
+++ b/drivers/s390/char/tty3270.c
@@ -1785,7 +1785,6 @@ tty3270_init(void)
1785 * proc_entry, set_termios, flush_buffer, set_ldisc, write_proc 1785 * proc_entry, set_termios, flush_buffer, set_ldisc, write_proc
1786 */ 1786 */
1787 driver->owner = THIS_MODULE; 1787 driver->owner = THIS_MODULE;
1788 driver->devfs_name = "ttyTUB/";
1789 driver->driver_name = "ttyTUB"; 1788 driver->driver_name = "ttyTUB";
1790 driver->name = "ttyTUB"; 1789 driver->name = "ttyTUB";
1791 driver->major = IBM_TTY3270_MAJOR; 1790 driver->major = IBM_TTY3270_MAJOR;
@@ -1793,7 +1792,7 @@ tty3270_init(void)
1793 driver->type = TTY_DRIVER_TYPE_SYSTEM; 1792 driver->type = TTY_DRIVER_TYPE_SYSTEM;
1794 driver->subtype = SYSTEM_TYPE_TTY; 1793 driver->subtype = SYSTEM_TYPE_TTY;
1795 driver->init_termios = tty_std_termios; 1794 driver->init_termios = tty_std_termios;
1796 driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_NO_DEVFS; 1795 driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_DYNAMIC_DEV;
1797 tty_set_operations(driver, &tty3270_ops); 1796 tty_set_operations(driver, &tty3270_ops);
1798 ret = tty_register_driver(driver); 1797 ret = tty_register_driver(driver);
1799 if (ret) { 1798 if (ret) {
diff --git a/drivers/s390/crypto/z90main.c b/drivers/s390/crypto/z90main.c
index 982acc7303ea..b2f20ab8431a 100644
--- a/drivers/s390/crypto/z90main.c
+++ b/drivers/s390/crypto/z90main.c
@@ -411,7 +411,6 @@ static struct miscdevice z90crypt_misc_device = {
411 .minor = Z90CRYPT_MINOR, 411 .minor = Z90CRYPT_MINOR,
412 .name = DEV_NAME, 412 .name = DEV_NAME,
413 .fops = &z90crypt_fops, 413 .fops = &z90crypt_fops,
414 .devfs_name = DEV_NAME
415}; 414};
416 415
417/** 416/**
diff --git a/drivers/sbus/char/bpp.c b/drivers/sbus/char/bpp.c
index ccb20a6f5f36..385f4f768311 100644
--- a/drivers/sbus/char/bpp.c
+++ b/drivers/sbus/char/bpp.c
@@ -20,7 +20,6 @@
20#include <linux/timer.h> 20#include <linux/timer.h>
21#include <linux/ioport.h> 21#include <linux/ioport.h>
22#include <linux/major.h> 22#include <linux/major.h>
23#include <linux/devfs_fs_kernel.h>
24 23
25#include <asm/uaccess.h> 24#include <asm/uaccess.h>
26#include <asm/io.h> 25#include <asm/io.h>
@@ -1031,11 +1030,6 @@ static int __init bpp_init(void)
1031 instances[idx].opened = 0; 1030 instances[idx].opened = 0;
1032 probeLptPort(idx); 1031 probeLptPort(idx);
1033 } 1032 }
1034 devfs_mk_dir("bpp");
1035 for (idx = 0; idx < BPP_NO; idx++) {
1036 devfs_mk_cdev(MKDEV(BPP_MAJOR, idx),
1037 S_IFCHR | S_IRUSR | S_IWUSR, "bpp/%d", idx);
1038 }
1039 1033
1040 return 0; 1034 return 0;
1041} 1035}
@@ -1044,9 +1038,6 @@ static void __exit bpp_cleanup(void)
1044{ 1038{
1045 unsigned idx; 1039 unsigned idx;
1046 1040
1047 for (idx = 0; idx < BPP_NO; idx++)
1048 devfs_remove("bpp/%d", idx);
1049 devfs_remove("bpp");
1050 unregister_chrdev(BPP_MAJOR, dev_name); 1041 unregister_chrdev(BPP_MAJOR, dev_name);
1051 1042
1052 for (idx = 0; idx < BPP_NO; idx++) { 1043 for (idx = 0; idx < BPP_NO; idx++) {
diff --git a/drivers/sbus/char/vfc.h b/drivers/sbus/char/vfc.h
index 8045cd5e7cb3..63941a259b92 100644
--- a/drivers/sbus/char/vfc.h
+++ b/drivers/sbus/char/vfc.h
@@ -1,8 +1,6 @@
1#ifndef _LINUX_VFC_H_ 1#ifndef _LINUX_VFC_H_
2#define _LINUX_VFC_H_ 2#define _LINUX_VFC_H_
3 3
4#include <linux/devfs_fs_kernel.h>
5
6/* 4/*
7 * The control register for the vfc is at offset 0x4000 5 * The control register for the vfc is at offset 0x4000
8 * The first field ram bank is located at offset 0x5000 6 * The first field ram bank is located at offset 0x5000
diff --git a/drivers/sbus/char/vfc_dev.c b/drivers/sbus/char/vfc_dev.c
index ddcd330b9e89..55b2b31bd7ab 100644
--- a/drivers/sbus/char/vfc_dev.c
+++ b/drivers/sbus/char/vfc_dev.c
@@ -164,10 +164,6 @@ int init_vfc_device(struct sbus_dev *sdev,struct vfc_dev *dev, int instance)
164 return -EINVAL; 164 return -EINVAL;
165 if (init_vfc_hw(dev)) 165 if (init_vfc_hw(dev))
166 return -EIO; 166 return -EIO;
167
168 devfs_mk_cdev(MKDEV(VFC_MAJOR, instance),
169 S_IFCHR | S_IRUSR | S_IWUSR,
170 "vfc/%d", instance);
171 return 0; 167 return 0;
172} 168}
173 169
@@ -677,7 +673,6 @@ static int vfc_probe(void)
677 kfree(vfc_dev_lst); 673 kfree(vfc_dev_lst);
678 return -EIO; 674 return -EIO;
679 } 675 }
680 devfs_mk_dir("vfc");
681 instance = 0; 676 instance = 0;
682 for_all_sbusdev(sdev, sbus) { 677 for_all_sbusdev(sdev, sbus) {
683 if (strcmp(sdev->prom_name, "vfc") == 0) { 678 if (strcmp(sdev->prom_name, "vfc") == 0) {
@@ -717,7 +712,6 @@ static void deinit_vfc_device(struct vfc_dev *dev)
717{ 712{
718 if(dev == NULL) 713 if(dev == NULL)
719 return; 714 return;
720 devfs_remove("vfc/%d", dev->instance);
721 sbus_iounmap(dev->regs, sizeof(struct vfc_regs)); 715 sbus_iounmap(dev->regs, sizeof(struct vfc_regs));
722 kfree(dev); 716 kfree(dev);
723} 717}
@@ -731,7 +725,6 @@ void cleanup_module(void)
731 for (devp = vfc_dev_lst; *devp; devp++) 725 for (devp = vfc_dev_lst; *devp; devp++)
732 deinit_vfc_device(*devp); 726 deinit_vfc_device(*devp);
733 727
734 devfs_remove("vfc");
735 kfree(vfc_dev_lst); 728 kfree(vfc_dev_lst);
736 return; 729 return;
737} 730}
diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c
index 7572665a8855..9fd0de4b7afd 100644
--- a/drivers/serial/21285.c
+++ b/drivers/serial/21285.c
@@ -479,7 +479,6 @@ static struct uart_driver serial21285_reg = {
479 .owner = THIS_MODULE, 479 .owner = THIS_MODULE,
480 .driver_name = "ttyFB", 480 .driver_name = "ttyFB",
481 .dev_name = "ttyFB", 481 .dev_name = "ttyFB",
482 .devfs_name = "ttyFB",
483 .major = SERIAL_21285_MAJOR, 482 .major = SERIAL_21285_MAJOR,
484 .minor = SERIAL_21285_MINOR, 483 .minor = SERIAL_21285_MINOR,
485 .nr = 1, 484 .nr = 1,
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index bbf78aaf9e01..f361b356bd1d 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -2354,7 +2354,6 @@ int __init serial8250_start_console(struct uart_port *port, char *options)
2354static struct uart_driver serial8250_reg = { 2354static struct uart_driver serial8250_reg = {
2355 .owner = THIS_MODULE, 2355 .owner = THIS_MODULE,
2356 .driver_name = "serial", 2356 .driver_name = "serial",
2357 .devfs_name = "tts/",
2358 .dev_name = "ttyS", 2357 .dev_name = "ttyS",
2359 .major = TTY_MAJOR, 2358 .major = TTY_MAJOR,
2360 .minor = 64, 2359 .minor = 64,
diff --git a/drivers/serial/at91_serial.c b/drivers/serial/at91_serial.c
index db5b25fafed4..df9500bdaded 100644
--- a/drivers/serial/at91_serial.c
+++ b/drivers/serial/at91_serial.c
@@ -863,7 +863,6 @@ static struct uart_driver at91_uart = {
863 .owner = THIS_MODULE, 863 .owner = THIS_MODULE,
864 .driver_name = "at91_serial", 864 .driver_name = "at91_serial",
865 .dev_name = AT91_DEVICENAME, 865 .dev_name = AT91_DEVICENAME,
866 .devfs_name = AT91_DEVICENAME,
867 .major = SERIAL_AT91_MAJOR, 866 .major = SERIAL_AT91_MAJOR,
868 .minor = MINOR_START, 867 .minor = MINOR_START,
869 .nr = AT91_NR_UART, 868 .nr = AT91_NR_UART,
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 5cacc5e74a92..b84137cdeb2b 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -4878,7 +4878,7 @@ rs_init(void)
4878 driver->init_termios = tty_std_termios; 4878 driver->init_termios = tty_std_termios;
4879 driver->init_termios.c_cflag = 4879 driver->init_termios.c_cflag =
4880 B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */ 4880 B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */
4881 driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 4881 driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
4882 driver->termios = serial_termios; 4882 driver->termios = serial_termios;
4883 driver->termios_locked = serial_termios_locked; 4883 driver->termios_locked = serial_termios_locked;
4884 4884
diff --git a/drivers/serial/dz.c b/drivers/serial/dz.c
index bf71bad5c34f..466d06cc7d37 100644
--- a/drivers/serial/dz.c
+++ b/drivers/serial/dz.c
@@ -768,11 +768,7 @@ void __init dz_serial_console_init(void)
768static struct uart_driver dz_reg = { 768static struct uart_driver dz_reg = {
769 .owner = THIS_MODULE, 769 .owner = THIS_MODULE,
770 .driver_name = "serial", 770 .driver_name = "serial",
771#ifdef CONFIG_DEVFS
772 .dev_name = "tts/%d",
773#else
774 .dev_name = "ttyS%d", 771 .dev_name = "ttyS%d",
775#endif
776 .major = TTY_MAJOR, 772 .major = TTY_MAJOR,
777 .minor = 64, 773 .minor = 64,
778 .nr = DZ_NB_PORT, 774 .nr = DZ_NB_PORT,
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index d202eb4f3848..da85bafa0942 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -888,7 +888,6 @@ static struct uart_driver imx_reg = {
888 .owner = THIS_MODULE, 888 .owner = THIS_MODULE,
889 .driver_name = DRIVER_NAME, 889 .driver_name = DRIVER_NAME,
890 .dev_name = "ttySMX", 890 .dev_name = "ttySMX",
891 .devfs_name = "ttsmx/",
892 .major = SERIAL_IMX_MAJOR, 891 .major = SERIAL_IMX_MAJOR,
893 .minor = MINOR_START, 892 .minor = MINOR_START,
894 .nr = ARRAY_SIZE(imx_ports), 893 .nr = ARRAY_SIZE(imx_ports),
diff --git a/drivers/serial/ip22zilog.c b/drivers/serial/ip22zilog.c
index 651772474ac1..56b093ecd779 100644
--- a/drivers/serial/ip22zilog.c
+++ b/drivers/serial/ip22zilog.c
@@ -1085,7 +1085,6 @@ static struct console ip22zilog_console = {
1085static struct uart_driver ip22zilog_reg = { 1085static struct uart_driver ip22zilog_reg = {
1086 .owner = THIS_MODULE, 1086 .owner = THIS_MODULE,
1087 .driver_name = "serial", 1087 .driver_name = "serial",
1088 .devfs_name = "tts/",
1089 .dev_name = "ttyS", 1088 .dev_name = "ttyS",
1090 .major = TTY_MAJOR, 1089 .major = TTY_MAJOR,
1091 .minor = 64, 1090 .minor = 64,
diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c
index 321a40f33b50..6a2a25d9b596 100644
--- a/drivers/serial/m32r_sio.c
+++ b/drivers/serial/m32r_sio.c
@@ -1131,7 +1131,6 @@ console_initcall(m32r_sio_console_init);
1131static struct uart_driver m32r_sio_reg = { 1131static struct uart_driver m32r_sio_reg = {
1132 .owner = THIS_MODULE, 1132 .owner = THIS_MODULE,
1133 .driver_name = "sio", 1133 .driver_name = "sio",
1134 .devfs_name = "tts/",
1135 .dev_name = "ttyS", 1134 .dev_name = "ttyS",
1136 .major = TTY_MAJOR, 1135 .major = TTY_MAJOR,
1137 .minor = 64, 1136 .minor = 64,
diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c
index 8ad242934368..29c0630e3e64 100644
--- a/drivers/serial/mcfserial.c
+++ b/drivers/serial/mcfserial.c
@@ -1713,7 +1713,6 @@ mcfrs_init(void)
1713 /* Initialize the tty_driver structure */ 1713 /* Initialize the tty_driver structure */
1714 mcfrs_serial_driver->owner = THIS_MODULE; 1714 mcfrs_serial_driver->owner = THIS_MODULE;
1715 mcfrs_serial_driver->name = "ttyS"; 1715 mcfrs_serial_driver->name = "ttyS";
1716 mcfrs_serial_driver->devfs_name = "ttys/";
1717 mcfrs_serial_driver->driver_name = "serial"; 1716 mcfrs_serial_driver->driver_name = "serial";
1718 mcfrs_serial_driver->major = TTY_MAJOR; 1717 mcfrs_serial_driver->major = TTY_MAJOR;
1719 mcfrs_serial_driver->minor_start = 64; 1718 mcfrs_serial_driver->minor_start = 64;
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index 6459edc7f5c5..1aa34844218c 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -693,7 +693,6 @@ static struct uart_driver mpc52xx_uart_driver = {
693 .owner = THIS_MODULE, 693 .owner = THIS_MODULE,
694 .driver_name = "mpc52xx_psc_uart", 694 .driver_name = "mpc52xx_psc_uart",
695 .dev_name = "ttyPSC", 695 .dev_name = "ttyPSC",
696 .devfs_name = "ttyPSC",
697 .major = SERIAL_PSC_MAJOR, 696 .major = SERIAL_PSC_MAJOR,
698 .minor = SERIAL_PSC_MINOR, 697 .minor = SERIAL_PSC_MINOR,
699 .nr = MPC52xx_PSC_MAXNUM, 698 .nr = MPC52xx_PSC_MAXNUM,
diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c
index 94681922ea0a..1cd102f84bfa 100644
--- a/drivers/serial/mpsc.c
+++ b/drivers/serial/mpsc.c
@@ -315,7 +315,6 @@ struct mpsc_port_info *mpsc_device_remove(int index);
315#define MPSC_MAJOR 204 315#define MPSC_MAJOR 204
316#define MPSC_MINOR_START 44 316#define MPSC_MINOR_START 44
317#define MPSC_DRIVER_NAME "MPSC" 317#define MPSC_DRIVER_NAME "MPSC"
318#define MPSC_DEVFS_NAME "ttymm/"
319#define MPSC_DEV_NAME "ttyMM" 318#define MPSC_DEV_NAME "ttyMM"
320#define MPSC_VERSION "1.00" 319#define MPSC_VERSION "1.00"
321 320
@@ -1863,7 +1862,6 @@ static struct platform_driver mpsc_shared_driver = {
1863static struct uart_driver mpsc_reg = { 1862static struct uart_driver mpsc_reg = {
1864 .owner = THIS_MODULE, 1863 .owner = THIS_MODULE,
1865 .driver_name = MPSC_DRIVER_NAME, 1864 .driver_name = MPSC_DRIVER_NAME,
1866 .devfs_name = MPSC_DEVFS_NAME,
1867 .dev_name = MPSC_DEV_NAME, 1865 .dev_name = MPSC_DEV_NAME,
1868 .major = MPSC_MAJOR, 1866 .major = MPSC_MAJOR,
1869 .minor = MPSC_MINOR_START, 1867 .minor = MPSC_MINOR_START,
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index 513ff8597707..e3ba7e17a240 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -101,7 +101,6 @@ static DEFINE_MUTEX(pmz_irq_mutex);
101static struct uart_driver pmz_uart_reg = { 101static struct uart_driver pmz_uart_reg = {
102 .owner = THIS_MODULE, 102 .owner = THIS_MODULE,
103 .driver_name = "ttyS", 103 .driver_name = "ttyS",
104 .devfs_name = "tts/",
105 .dev_name = "ttyS", 104 .dev_name = "ttyS",
106 .major = TTY_MAJOR, 105 .major = TTY_MAJOR,
107}; 106};
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c
index ae3649568541..0fa0ccc9ed27 100644
--- a/drivers/serial/pxa.c
+++ b/drivers/serial/pxa.c
@@ -780,7 +780,6 @@ static struct uart_pxa_port serial_pxa_ports[] = {
780static struct uart_driver serial_pxa_reg = { 780static struct uart_driver serial_pxa_reg = {
781 .owner = THIS_MODULE, 781 .owner = THIS_MODULE,
782 .driver_name = "PXA serial", 782 .driver_name = "PXA serial",
783 .devfs_name = "tts/",
784 .dev_name = "ttyS", 783 .dev_name = "ttyS",
785 .major = TTY_MAJOR, 784 .major = TTY_MAJOR,
786 .minor = 64, 785 .minor = 64,
diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c
index 837b6da520b3..4c62ab949ecc 100644
--- a/drivers/serial/s3c2410.c
+++ b/drivers/serial/s3c2410.c
@@ -149,7 +149,6 @@ s3c24xx_serial_dbg(const char *fmt, ...)
149/* UART name and device definitions */ 149/* UART name and device definitions */
150 150
151#define S3C24XX_SERIAL_NAME "ttySAC" 151#define S3C24XX_SERIAL_NAME "ttySAC"
152#define S3C24XX_SERIAL_DEVFS "tts/"
153#define S3C24XX_SERIAL_MAJOR 204 152#define S3C24XX_SERIAL_MAJOR 204
154#define S3C24XX_SERIAL_MINOR 64 153#define S3C24XX_SERIAL_MINOR 64
155 154
@@ -952,7 +951,6 @@ static struct uart_driver s3c24xx_uart_drv = {
952 .nr = 3, 951 .nr = 3,
953 .cons = S3C24XX_SERIAL_CONSOLE, 952 .cons = S3C24XX_SERIAL_CONSOLE,
954 .driver_name = S3C24XX_SERIAL_NAME, 953 .driver_name = S3C24XX_SERIAL_NAME,
955 .devfs_name = S3C24XX_SERIAL_DEVFS,
956 .major = S3C24XX_SERIAL_MAJOR, 954 .major = S3C24XX_SERIAL_MAJOR,
957 .minor = S3C24XX_SERIAL_MINOR, 955 .minor = S3C24XX_SERIAL_MINOR,
958}; 956};
diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c
index c2d9068b491d..8bbd8567669c 100644
--- a/drivers/serial/sa1100.c
+++ b/drivers/serial/sa1100.c
@@ -816,7 +816,6 @@ static struct uart_driver sa1100_reg = {
816 .owner = THIS_MODULE, 816 .owner = THIS_MODULE,
817 .driver_name = "ttySA", 817 .driver_name = "ttySA",
818 .dev_name = "ttySA", 818 .dev_name = "ttySA",
819 .devfs_name = "ttySA",
820 .major = SERIAL_SA1100_MAJOR, 819 .major = SERIAL_SA1100_MAJOR,
821 .minor = MINOR_START, 820 .minor = MINOR_START,
822 .nr = NR_PORTS, 821 .nr = NR_PORTS,
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index 17839e753e4c..7dc1e67b6851 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -2153,7 +2153,6 @@ int uart_register_driver(struct uart_driver *drv)
2153 2153
2154 normal->owner = drv->owner; 2154 normal->owner = drv->owner;
2155 normal->driver_name = drv->driver_name; 2155 normal->driver_name = drv->driver_name;
2156 normal->devfs_name = drv->devfs_name;
2157 normal->name = drv->dev_name; 2156 normal->name = drv->dev_name;
2158 normal->major = drv->major; 2157 normal->major = drv->major;
2159 normal->minor_start = drv->minor; 2158 normal->minor_start = drv->minor;
@@ -2161,7 +2160,7 @@ int uart_register_driver(struct uart_driver *drv)
2161 normal->subtype = SERIAL_TYPE_NORMAL; 2160 normal->subtype = SERIAL_TYPE_NORMAL;
2162 normal->init_termios = tty_std_termios; 2161 normal->init_termios = tty_std_termios;
2163 normal->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; 2162 normal->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
2164 normal->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 2163 normal->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
2165 normal->driver_state = drv; 2164 normal->driver_state = drv;
2166 tty_set_operations(normal, &uart_ops); 2165 tty_set_operations(normal, &uart_ops);
2167 2166
@@ -2312,7 +2311,7 @@ int uart_remove_one_port(struct uart_driver *drv, struct uart_port *port)
2312 mutex_unlock(&state->mutex); 2311 mutex_unlock(&state->mutex);
2313 2312
2314 /* 2313 /*
2315 * Remove the devices from devfs 2314 * Remove the devices from the tty layer
2316 */ 2315 */
2317 tty_unregister_device(drv->tty_driver, port->line); 2316 tty_unregister_device(drv->tty_driver, port->line);
2318 2317
diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c
index 3bdee64d1a99..a901a7e446f3 100644
--- a/drivers/serial/serial_txx9.c
+++ b/drivers/serial/serial_txx9.c
@@ -69,12 +69,10 @@ static char *serial_name = "TX39/49 Serial driver";
69#if !defined(CONFIG_SERIAL_TXX9_STDSERIAL) 69#if !defined(CONFIG_SERIAL_TXX9_STDSERIAL)
70/* "ttyS" is used for standard serial driver */ 70/* "ttyS" is used for standard serial driver */
71#define TXX9_TTY_NAME "ttyTX" 71#define TXX9_TTY_NAME "ttyTX"
72#define TXX9_TTY_DEVFS_NAME "tttx/"
73#define TXX9_TTY_MINOR_START (64 + 64) /* ttyTX0(128), ttyTX1(129) */ 72#define TXX9_TTY_MINOR_START (64 + 64) /* ttyTX0(128), ttyTX1(129) */
74#else 73#else
75/* acts like standard serial driver */ 74/* acts like standard serial driver */
76#define TXX9_TTY_NAME "ttyS" 75#define TXX9_TTY_NAME "ttyS"
77#define TXX9_TTY_DEVFS_NAME "tts/"
78#define TXX9_TTY_MINOR_START 64 76#define TXX9_TTY_MINOR_START 64
79#endif 77#endif
80#define TXX9_TTY_MAJOR TTY_MAJOR 78#define TXX9_TTY_MAJOR TTY_MAJOR
@@ -971,7 +969,6 @@ console_initcall(serial_txx9_console_init);
971static struct uart_driver serial_txx9_reg = { 969static struct uart_driver serial_txx9_reg = {
972 .owner = THIS_MODULE, 970 .owner = THIS_MODULE,
973 .driver_name = "serial_txx9", 971 .driver_name = "serial_txx9",
974 .devfs_name = TXX9_TTY_DEVFS_NAME,
975 .dev_name = TXX9_TTY_NAME, 972 .dev_name = TXX9_TTY_NAME,
976 .major = TXX9_TTY_MAJOR, 973 .major = TXX9_TTY_MAJOR,
977 .minor = TXX9_TTY_MINOR_START, 974 .minor = TXX9_TTY_MINOR_START,
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index 44f6bf79bbe1..d97f3ca6cc29 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -1699,9 +1699,6 @@ static char banner[] __initdata =
1699static struct uart_driver sci_uart_driver = { 1699static struct uart_driver sci_uart_driver = {
1700 .owner = THIS_MODULE, 1700 .owner = THIS_MODULE,
1701 .driver_name = "sci", 1701 .driver_name = "sci",
1702#ifdef CONFIG_DEVFS_FS
1703 .devfs_name = "ttsc/",
1704#endif
1705 .dev_name = "ttySC", 1702 .dev_name = "ttySC",
1706 .major = SCI_MAJOR, 1703 .major = SCI_MAJOR,
1707 .minor = SCI_MINOR_START, 1704 .minor = SCI_MINOR_START,
diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c
index ba22e256c6f7..d36bc4003399 100644
--- a/drivers/serial/sunhv.c
+++ b/drivers/serial/sunhv.c
@@ -353,7 +353,6 @@ static struct uart_ops sunhv_pops = {
353static struct uart_driver sunhv_reg = { 353static struct uart_driver sunhv_reg = {
354 .owner = THIS_MODULE, 354 .owner = THIS_MODULE,
355 .driver_name = "serial", 355 .driver_name = "serial",
356 .devfs_name = "tts/",
357 .dev_name = "ttyS", 356 .dev_name = "ttyS",
358 .major = TTY_MAJOR, 357 .major = TTY_MAJOR,
359}; 358};
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index e4c0fd2d6a9d..7da02d11c364 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -851,7 +851,6 @@ static struct uart_ops sunsab_pops = {
851static struct uart_driver sunsab_reg = { 851static struct uart_driver sunsab_reg = {
852 .owner = THIS_MODULE, 852 .owner = THIS_MODULE,
853 .driver_name = "serial", 853 .driver_name = "serial",
854 .devfs_name = "tts/",
855 .dev_name = "ttyS", 854 .dev_name = "ttyS",
856 .major = TTY_MAJOR, 855 .major = TTY_MAJOR,
857}; 856};
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 0268b307c01e..6e28c25138cf 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1265,7 +1265,6 @@ out:
1265static struct uart_driver sunsu_reg = { 1265static struct uart_driver sunsu_reg = {
1266 .owner = THIS_MODULE, 1266 .owner = THIS_MODULE,
1267 .driver_name = "serial", 1267 .driver_name = "serial",
1268 .devfs_name = "tts/",
1269 .dev_name = "ttyS", 1268 .dev_name = "ttyS",
1270 .major = TTY_MAJOR, 1269 .major = TTY_MAJOR,
1271}; 1270};
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index 76c9bac9271f..9f42677287ad 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -1017,7 +1017,6 @@ static int zilog_irq = -1;
1017static struct uart_driver sunzilog_reg = { 1017static struct uart_driver sunzilog_reg = {
1018 .owner = THIS_MODULE, 1018 .owner = THIS_MODULE,
1019 .driver_name = "ttyS", 1019 .driver_name = "ttyS",
1020 .devfs_name = "tts/",
1021 .dev_name = "ttyS", 1020 .dev_name = "ttyS",
1022 .major = TTY_MAJOR, 1021 .major = TTY_MAJOR,
1023}; 1022};
diff --git a/drivers/serial/v850e_uart.c b/drivers/serial/v850e_uart.c
index df705fda4243..a0da2aaf71c4 100644
--- a/drivers/serial/v850e_uart.c
+++ b/drivers/serial/v850e_uart.c
@@ -468,7 +468,6 @@ static struct uart_ops v850e_uart_ops = {
468static struct uart_driver v850e_uart_driver = { 468static struct uart_driver v850e_uart_driver = {
469 .owner = THIS_MODULE, 469 .owner = THIS_MODULE,
470 .driver_name = "v850e_uart", 470 .driver_name = "v850e_uart",
471 .devfs_name = "tts/",
472 .dev_name = "ttyS", 471 .dev_name = "ttyS",
473 .major = TTY_MAJOR, 472 .major = TTY_MAJOR,
474 .minor = V850E_UART_MINOR_BASE, 473 .minor = V850E_UART_MINOR_BASE,
diff --git a/drivers/serial/vr41xx_siu.c b/drivers/serial/vr41xx_siu.c
index df5e8713fa31..017571ffa19c 100644
--- a/drivers/serial/vr41xx_siu.c
+++ b/drivers/serial/vr41xx_siu.c
@@ -911,7 +911,6 @@ static struct uart_driver siu_uart_driver = {
911 .owner = THIS_MODULE, 911 .owner = THIS_MODULE,
912 .driver_name = "SIU", 912 .driver_name = "SIU",
913 .dev_name = "ttyVR", 913 .dev_name = "ttyVR",
914 .devfs_name = "ttvr/",
915 .major = SIU_MAJOR, 914 .major = SIU_MAJOR,
916 .minor = SIU_MINOR_BASE, 915 .minor = SIU_MINOR_BASE,
917 .cons = SERIAL_VR41XX_CONSOLE, 916 .cons = SERIAL_VR41XX_CONSOLE,
diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c
index 2dffa8e303b2..7f27b356eaf7 100644
--- a/drivers/tc/zs.c
+++ b/drivers/tc/zs.c
@@ -1745,7 +1745,6 @@ int __init zs_init(void)
1745 /* Not all of this is exactly right for us. */ 1745 /* Not all of this is exactly right for us. */
1746 1746
1747 serial_driver->owner = THIS_MODULE; 1747 serial_driver->owner = THIS_MODULE;
1748 serial_driver->devfs_name = "tts/";
1749 serial_driver->name = "ttyS"; 1748 serial_driver->name = "ttyS";
1750 serial_driver->major = TTY_MAJOR; 1749 serial_driver->major = TTY_MAJOR;
1751 serial_driver->minor_start = 64; 1750 serial_driver->minor_start = 64;
@@ -1754,7 +1753,7 @@ int __init zs_init(void)
1754 serial_driver->init_termios = tty_std_termios; 1753 serial_driver->init_termios = tty_std_termios;
1755 serial_driver->init_termios.c_cflag = 1754 serial_driver->init_termios.c_cflag =
1756 B9600 | CS8 | CREAD | HUPCL | CLOCAL; 1755 B9600 | CS8 | CREAD | HUPCL | CLOCAL;
1757 serial_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 1756 serial_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
1758 tty_set_operations(serial_driver, &serial_ops); 1757 tty_set_operations(serial_driver, &serial_ops);
1759 1758
1760 if (tty_register_driver(serial_driver)) 1759 if (tty_register_driver(serial_driver))
diff --git a/drivers/telephony/phonedev.c b/drivers/telephony/phonedev.c
index e166fffea86b..e41f49afd0f4 100644
--- a/drivers/telephony/phonedev.c
+++ b/drivers/telephony/phonedev.c
@@ -28,7 +28,6 @@
28 28
29#include <linux/kmod.h> 29#include <linux/kmod.h>
30#include <linux/sem.h> 30#include <linux/sem.h>
31#include <linux/devfs_fs_kernel.h>
32#include <linux/mutex.h> 31#include <linux/mutex.h>
33 32
34#define PHONE_NUM_DEVICES 256 33#define PHONE_NUM_DEVICES 256
@@ -106,8 +105,6 @@ int phone_register_device(struct phone_device *p, int unit)
106 if (phone_device[i] == NULL) { 105 if (phone_device[i] == NULL) {
107 phone_device[i] = p; 106 phone_device[i] = p;
108 p->minor = i; 107 p->minor = i;
109 devfs_mk_cdev(MKDEV(PHONE_MAJOR,i),
110 S_IFCHR|S_IRUSR|S_IWUSR, "phone/%d", i);
111 mutex_unlock(&phone_lock); 108 mutex_unlock(&phone_lock);
112 return 0; 109 return 0;
113 } 110 }
@@ -125,7 +122,6 @@ void phone_unregister_device(struct phone_device *pfd)
125 mutex_lock(&phone_lock); 122 mutex_lock(&phone_lock);
126 if (phone_device[pfd->minor] != pfd) 123 if (phone_device[pfd->minor] != pfd)
127 panic("phone: bad unregister"); 124 panic("phone: bad unregister");
128 devfs_remove("phone/%d", pfd->minor);
129 phone_device[pfd->minor] = NULL; 125 phone_device[pfd->minor] = NULL;
130 mutex_unlock(&phone_lock); 126 mutex_unlock(&phone_lock);
131} 127}
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index d41dc67ba4cc..3670d77e912c 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1145,12 +1145,11 @@ static int __init acm_init(void)
1145 acm_tty_driver->owner = THIS_MODULE, 1145 acm_tty_driver->owner = THIS_MODULE,
1146 acm_tty_driver->driver_name = "acm", 1146 acm_tty_driver->driver_name = "acm",
1147 acm_tty_driver->name = "ttyACM", 1147 acm_tty_driver->name = "ttyACM",
1148 acm_tty_driver->devfs_name = "usb/acm/",
1149 acm_tty_driver->major = ACM_TTY_MAJOR, 1148 acm_tty_driver->major = ACM_TTY_MAJOR,
1150 acm_tty_driver->minor_start = 0, 1149 acm_tty_driver->minor_start = 0,
1151 acm_tty_driver->type = TTY_DRIVER_TYPE_SERIAL, 1150 acm_tty_driver->type = TTY_DRIVER_TYPE_SERIAL,
1152 acm_tty_driver->subtype = SERIAL_TYPE_NORMAL, 1151 acm_tty_driver->subtype = SERIAL_TYPE_NORMAL,
1153 acm_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS, 1152 acm_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
1154 acm_tty_driver->init_termios = tty_std_termios; 1153 acm_tty_driver->init_termios = tty_std_termios;
1155 acm_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; 1154 acm_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
1156 tty_set_operations(acm_tty_driver, &acm_ops); 1155 tty_set_operations(acm_tty_driver, &acm_ops);
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c
index 9d6e1d295528..416acac879df 100644
--- a/drivers/usb/gadget/serial.c
+++ b/drivers/usb/gadget/serial.c
@@ -588,12 +588,11 @@ static int __init gs_module_init(void)
588 gs_tty_driver->owner = THIS_MODULE; 588 gs_tty_driver->owner = THIS_MODULE;
589 gs_tty_driver->driver_name = GS_SHORT_NAME; 589 gs_tty_driver->driver_name = GS_SHORT_NAME;
590 gs_tty_driver->name = "ttygs"; 590 gs_tty_driver->name = "ttygs";
591 gs_tty_driver->devfs_name = "usb/ttygs/";
592 gs_tty_driver->major = GS_MAJOR; 591 gs_tty_driver->major = GS_MAJOR;
593 gs_tty_driver->minor_start = GS_MINOR_START; 592 gs_tty_driver->minor_start = GS_MINOR_START;
594 gs_tty_driver->type = TTY_DRIVER_TYPE_SERIAL; 593 gs_tty_driver->type = TTY_DRIVER_TYPE_SERIAL;
595 gs_tty_driver->subtype = SERIAL_TYPE_NORMAL; 594 gs_tty_driver->subtype = SERIAL_TYPE_NORMAL;
596 gs_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 595 gs_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
597 gs_tty_driver->init_termios = tty_std_termios; 596 gs_tty_driver->init_termios = tty_std_termios;
598 gs_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; 597 gs_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
599 tty_set_operations(gs_tty_driver, &gs_tty_ops); 598 tty_set_operations(gs_tty_driver, &gs_tty_ops);
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index a30135c7cfe6..f466f89eeb6d 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -1059,13 +1059,12 @@ static int __init usb_serial_init(void)
1059 1059
1060 usb_serial_tty_driver->owner = THIS_MODULE; 1060 usb_serial_tty_driver->owner = THIS_MODULE;
1061 usb_serial_tty_driver->driver_name = "usbserial"; 1061 usb_serial_tty_driver->driver_name = "usbserial";
1062 usb_serial_tty_driver->devfs_name = "usb/tts/";
1063 usb_serial_tty_driver->name = "ttyUSB"; 1062 usb_serial_tty_driver->name = "ttyUSB";
1064 usb_serial_tty_driver->major = SERIAL_TTY_MAJOR; 1063 usb_serial_tty_driver->major = SERIAL_TTY_MAJOR;
1065 usb_serial_tty_driver->minor_start = 0; 1064 usb_serial_tty_driver->minor_start = 0;
1066 usb_serial_tty_driver->type = TTY_DRIVER_TYPE_SERIAL; 1065 usb_serial_tty_driver->type = TTY_DRIVER_TYPE_SERIAL;
1067 usb_serial_tty_driver->subtype = SERIAL_TYPE_NORMAL; 1066 usb_serial_tty_driver->subtype = SERIAL_TYPE_NORMAL;
1068 usb_serial_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 1067 usb_serial_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
1069 usb_serial_tty_driver->init_termios = tty_std_termios; 1068 usb_serial_tty_driver->init_termios = tty_std_termios;
1070 usb_serial_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; 1069 usb_serial_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
1071 tty_set_operations(usb_serial_tty_driver, &serial_ops); 1070 tty_set_operations(usb_serial_tty_driver, &serial_ops);
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index 31143afe7c95..a171daab0ad0 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -32,7 +32,6 @@
32#ifdef CONFIG_KMOD 32#ifdef CONFIG_KMOD
33#include <linux/kmod.h> 33#include <linux/kmod.h>
34#endif 34#endif
35#include <linux/devfs_fs_kernel.h>
36#include <linux/err.h> 35#include <linux/err.h>
37#include <linux/device.h> 36#include <linux/device.h>
38#include <linux/efi.h> 37#include <linux/efi.h>
@@ -1331,8 +1330,6 @@ register_framebuffer(struct fb_info *fb_info)
1331 fb_add_videomode(&mode, &fb_info->modelist); 1330 fb_add_videomode(&mode, &fb_info->modelist);
1332 registered_fb[i] = fb_info; 1331 registered_fb[i] = fb_info;
1333 1332
1334 devfs_mk_cdev(MKDEV(FB_MAJOR, i),
1335 S_IFCHR | S_IRUGO | S_IWUGO, "fb/%d", i);
1336 event.info = fb_info; 1333 event.info = fb_info;
1337 blocking_notifier_call_chain(&fb_notifier_list, 1334 blocking_notifier_call_chain(&fb_notifier_list,
1338 FB_EVENT_FB_REGISTERED, &event); 1335 FB_EVENT_FB_REGISTERED, &event);
@@ -1359,7 +1356,6 @@ unregister_framebuffer(struct fb_info *fb_info)
1359 i = fb_info->node; 1356 i = fb_info->node;
1360 if (!registered_fb[i]) 1357 if (!registered_fb[i])
1361 return -EINVAL; 1358 return -EINVAL;
1362 devfs_remove("fb/%d", i);
1363 1359
1364 if (fb_info->pixmap.addr && 1360 if (fb_info->pixmap.addr &&
1365 (fb_info->pixmap.flags & FB_PIXMAP_DEFAULT)) 1361 (fb_info->pixmap.flags & FB_PIXMAP_DEFAULT))
@@ -1432,7 +1428,6 @@ fbmem_init(void)
1432{ 1428{
1433 create_proc_read_entry("fb", 0, NULL, fbmem_read_proc, NULL); 1429 create_proc_read_entry("fb", 0, NULL, fbmem_read_proc, NULL);
1434 1430
1435 devfs_mk_dir("fb");
1436 if (register_chrdev(FB_MAJOR,"fb",&fb_fops)) 1431 if (register_chrdev(FB_MAJOR,"fb",&fb_fops))
1437 printk("unable to get major %d for fb devs\n", FB_MAJOR); 1432 printk("unable to get major %d for fb devs\n", FB_MAJOR);
1438 1433