mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 00:51:35 +00:00
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 ...
This commit is contained in:
commit
602cada851
197 changed files with 96 additions and 8271 deletions
|
@ -181,8 +181,8 @@ Intel IA32 microcode
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
A driver has been added to allow updating of Intel IA32 microcode,
|
A driver has been added to allow updating of Intel IA32 microcode,
|
||||||
accessible as both a devfs regular file and as a normal (misc)
|
accessible as a normal (misc) character device. If you are not using
|
||||||
character device. If you are not using devfs you may need to:
|
udev you may need to:
|
||||||
|
|
||||||
mkdir /dev/cpu
|
mkdir /dev/cpu
|
||||||
mknod /dev/cpu/microcode c 10 184
|
mknod /dev/cpu/microcode c 10 184
|
||||||
|
@ -201,7 +201,9 @@ with programs using shared memory.
|
||||||
udev
|
udev
|
||||||
----
|
----
|
||||||
udev is a userspace application for populating /dev dynamically with
|
udev is a userspace application for populating /dev dynamically with
|
||||||
only entries for devices actually present. udev replaces devfs.
|
only entries for devices actually present. udev replaces the basic
|
||||||
|
functionality of devfs, while allowing persistant device naming for
|
||||||
|
devices.
|
||||||
|
|
||||||
FUSE
|
FUSE
|
||||||
----
|
----
|
||||||
|
@ -231,18 +233,13 @@ The PPP driver has been restructured to support multilink and to
|
||||||
enable it to operate over diverse media layers. If you use PPP,
|
enable it to operate over diverse media layers. If you use PPP,
|
||||||
upgrade pppd to at least 2.4.0.
|
upgrade pppd to at least 2.4.0.
|
||||||
|
|
||||||
If you are not using devfs, you must have the device file /dev/ppp
|
If you are not using udev, you must have the device file /dev/ppp
|
||||||
which can be made by:
|
which can be made by:
|
||||||
|
|
||||||
mknod /dev/ppp c 108 0
|
mknod /dev/ppp c 108 0
|
||||||
|
|
||||||
as root.
|
as root.
|
||||||
|
|
||||||
If you use devfsd and build ppp support as modules, you will need
|
|
||||||
the following in your /etc/devfsd.conf file:
|
|
||||||
|
|
||||||
LOOKUP PPP MODLOAD
|
|
||||||
|
|
||||||
Isdn4k-utils
|
Isdn4k-utils
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
|
@ -348,11 +348,6 @@ X!Earch/i386/kernel/mca.c
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="devfs">
|
|
||||||
<title>The Device File System</title>
|
|
||||||
!Efs/devfs/base.c
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="sysfs">
|
<chapter id="sysfs">
|
||||||
<title>The Filesystem for Exporting Kernel Objects</title>
|
<title>The Filesystem for Exporting Kernel Objects</title>
|
||||||
!Efs/sysfs/file.c
|
!Efs/sysfs/file.c
|
||||||
|
|
|
@ -78,9 +78,9 @@ also known as "System Drives", and Drive Groups are also called "Packs". Both
|
||||||
terms are in use in the Mylex documentation; I have chosen to standardize on
|
terms are in use in the Mylex documentation; I have chosen to standardize on
|
||||||
the more generic "Logical Drive" and "Drive Group".
|
the more generic "Logical Drive" and "Drive Group".
|
||||||
|
|
||||||
DAC960 RAID disk devices are named in the style of the Device File System
|
DAC960 RAID disk devices are named in the style of the obsolete Device File
|
||||||
(DEVFS). The device corresponding to Logical Drive D on Controller C is
|
System (DEVFS). The device corresponding to Logical Drive D on Controller C
|
||||||
referred to as /dev/rd/cCdD, and the partitions are called /dev/rd/cCdDp1
|
is referred to as /dev/rd/cCdD, and the partitions are called /dev/rd/cCdDp1
|
||||||
through /dev/rd/cCdDp7. For example, partition 3 of Logical Drive 5 on
|
through /dev/rd/cCdDp7. For example, partition 3 of Logical Drive 5 on
|
||||||
Controller 2 is referred to as /dev/rd/c2d5p3. Note that unlike with SCSI
|
Controller 2 is referred to as /dev/rd/c2d5p3. Note that unlike with SCSI
|
||||||
disks the device names will not change in the event of a disk drive failure.
|
disks the device names will not change in the event of a disk drive failure.
|
||||||
|
|
|
@ -6,17 +6,6 @@ be removed from this file.
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
What: devfs
|
|
||||||
When: July 2005
|
|
||||||
Files: fs/devfs/*, include/linux/devfs_fs*.h and assorted devfs
|
|
||||||
function calls throughout the kernel tree
|
|
||||||
Why: It has been unmaintained for a number of years, has unfixable
|
|
||||||
races, contains a naming policy within the kernel that is
|
|
||||||
against the LSB, and can be replaced by using udev.
|
|
||||||
Who: Greg Kroah-Hartman <greg@kroah.com>
|
|
||||||
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
What: RAW driver (CONFIG_RAW_DRIVER)
|
What: RAW driver (CONFIG_RAW_DRIVER)
|
||||||
When: December 2005
|
When: December 2005
|
||||||
Why: declared obsolete since kernel 2.6.3
|
Why: declared obsolete since kernel 2.6.3
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,40 +0,0 @@
|
||||||
Device File System (devfs) ToDo List
|
|
||||||
|
|
||||||
Richard Gooch <rgooch@atnf.csiro.au>
|
|
||||||
|
|
||||||
3-JUL-2000
|
|
||||||
|
|
||||||
This is a list of things to be done for better devfs support in the
|
|
||||||
Linux kernel. If you'd like to contribute to the devfs, please have a
|
|
||||||
look at this list for anything that is unallocated. Also, if there are
|
|
||||||
items missing (surely), please contact me so I can add them to the
|
|
||||||
list (preferably with your name attached to them:-).
|
|
||||||
|
|
||||||
|
|
||||||
- >256 ptys
|
|
||||||
Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
|
|
||||||
|
|
||||||
- Amiga floppy driver (drivers/block/amiflop.c)
|
|
||||||
|
|
||||||
- Atari floppy driver (drivers/block/ataflop.c)
|
|
||||||
|
|
||||||
- SWIM3 (Super Woz Integrated Machine 3) floppy driver (drivers/block/swim3.c)
|
|
||||||
|
|
||||||
- Amiga ZorroII ramdisc driver (drivers/block/z2ram.c)
|
|
||||||
|
|
||||||
- Parallel port ATAPI CD-ROM (drivers/block/paride/pcd.c)
|
|
||||||
|
|
||||||
- Parallel port ATAPI floppy (drivers/block/paride/pf.c)
|
|
||||||
|
|
||||||
- AP1000 block driver (drivers/ap1000/ap.c, drivers/ap1000/ddv.c)
|
|
||||||
|
|
||||||
- Archimedes floppy (drivers/acorn/block/fd1772.c)
|
|
||||||
|
|
||||||
- MFM hard drive (drivers/acorn/block/mfmhd.c)
|
|
||||||
|
|
||||||
- I2O block device (drivers/message/i2o/i2o_block.c)
|
|
||||||
|
|
||||||
- ST-RAM device (arch/m68k/atari/stram.c)
|
|
||||||
|
|
||||||
- Raw devices
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
/* -*- auto-fill -*- */
|
|
||||||
|
|
||||||
Device File System (devfs) Boot Options
|
|
||||||
|
|
||||||
Richard Gooch <rgooch@atnf.csiro.au>
|
|
||||||
|
|
||||||
18-AUG-2001
|
|
||||||
|
|
||||||
|
|
||||||
When CONFIG_DEVFS_DEBUG is enabled, you can pass several boot options
|
|
||||||
to the kernel to debug devfs. The boot options are prefixed by
|
|
||||||
"devfs=", and are separated by commas. Spaces are not allowed. The
|
|
||||||
syntax looks like this:
|
|
||||||
|
|
||||||
devfs=<option1>,<option2>,<option3>
|
|
||||||
|
|
||||||
and so on. For example, if you wanted to turn on debugging for module
|
|
||||||
load requests and device registration, you would do:
|
|
||||||
|
|
||||||
devfs=dmod,dreg
|
|
||||||
|
|
||||||
You may prefix "no" to any option. This will invert the option.
|
|
||||||
|
|
||||||
|
|
||||||
Debugging Options
|
|
||||||
=================
|
|
||||||
|
|
||||||
These requires CONFIG_DEVFS_DEBUG to be enabled.
|
|
||||||
Note that all debugging options have 'd' as the first character. By
|
|
||||||
default all options are off. All debugging output is sent to the
|
|
||||||
kernel logs. The debugging options do not take effect until the devfs
|
|
||||||
version message appears (just prior to the root filesystem being
|
|
||||||
mounted).
|
|
||||||
|
|
||||||
These are the options:
|
|
||||||
|
|
||||||
dmod print module load requests to <request_module>
|
|
||||||
|
|
||||||
dreg print device register requests to <devfs_register>
|
|
||||||
|
|
||||||
dunreg print device unregister requests to <devfs_unregister>
|
|
||||||
|
|
||||||
dchange print device change requests to <devfs_set_flags>
|
|
||||||
|
|
||||||
dilookup print inode lookup requests
|
|
||||||
|
|
||||||
diget print VFS inode allocations
|
|
||||||
|
|
||||||
diunlink print inode unlinks
|
|
||||||
|
|
||||||
dichange print inode changes
|
|
||||||
|
|
||||||
dimknod print calls to mknod(2)
|
|
||||||
|
|
||||||
dall some debugging turned on
|
|
||||||
|
|
||||||
|
|
||||||
Other Options
|
|
||||||
=============
|
|
||||||
|
|
||||||
These control the default behaviour of devfs. The options are:
|
|
||||||
|
|
||||||
mount mount devfs onto /dev at boot time
|
|
||||||
|
|
||||||
only disable non-devfs device nodes for devfs-capable drivers
|
|
|
@ -67,8 +67,7 @@ initrd adds the following new options:
|
||||||
as the last process has closed it, all data is freed and /dev/initrd
|
as the last process has closed it, all data is freed and /dev/initrd
|
||||||
can't be opened anymore.
|
can't be opened anymore.
|
||||||
|
|
||||||
root=/dev/ram0 (without devfs)
|
root=/dev/ram0
|
||||||
root=/dev/rd/0 (with devfs)
|
|
||||||
|
|
||||||
initrd is mounted as root, and the normal boot procedure is followed,
|
initrd is mounted as root, and the normal boot procedure is followed,
|
||||||
with the RAM disk still mounted as root.
|
with the RAM disk still mounted as root.
|
||||||
|
@ -90,8 +89,7 @@ you're building an install floppy), the root file system creation
|
||||||
procedure should create the /initrd directory.
|
procedure should create the /initrd directory.
|
||||||
|
|
||||||
If initrd will not be mounted in some cases, its content is still
|
If initrd will not be mounted in some cases, its content is still
|
||||||
accessible if the following device has been created (note that this
|
accessible if the following device has been created:
|
||||||
does not work if using devfs):
|
|
||||||
|
|
||||||
# mknod /dev/initrd b 1 250
|
# mknod /dev/initrd b 1 250
|
||||||
# chmod 400 /dev/initrd
|
# chmod 400 /dev/initrd
|
||||||
|
@ -119,8 +117,7 @@ We'll describe the loopback device method:
|
||||||
(if space is critical, you may want to use the Minix FS instead of Ext2)
|
(if space is critical, you may want to use the Minix FS instead of Ext2)
|
||||||
3) mount the file system, e.g.
|
3) mount the file system, e.g.
|
||||||
# mount -t ext2 -o loop initrd /mnt
|
# mount -t ext2 -o loop initrd /mnt
|
||||||
4) create the console device (not necessary if using devfs, but it can't
|
4) create the console device:
|
||||||
hurt to do it anyway):
|
|
||||||
# mkdir /mnt/dev
|
# mkdir /mnt/dev
|
||||||
# mknod /mnt/dev/console c 5 1
|
# mknod /mnt/dev/console c 5 1
|
||||||
5) copy all the files that are needed to properly use the initrd
|
5) copy all the files that are needed to properly use the initrd
|
||||||
|
@ -152,12 +149,7 @@ have to be given:
|
||||||
|
|
||||||
root=/dev/ram0 init=/linuxrc rw
|
root=/dev/ram0 init=/linuxrc rw
|
||||||
|
|
||||||
if not using devfs, or
|
(rw is only necessary if writing to the initrd file system.)
|
||||||
|
|
||||||
root=/dev/rd/0 init=/linuxrc rw
|
|
||||||
|
|
||||||
if using devfs. (rw is only necessary if writing to the initrd file
|
|
||||||
system.)
|
|
||||||
|
|
||||||
With LOADLIN, you simply execute
|
With LOADLIN, you simply execute
|
||||||
|
|
||||||
|
@ -217,9 +209,9 @@ following command:
|
||||||
# exec chroot . what-follows <dev/console >dev/console 2>&1
|
# exec chroot . what-follows <dev/console >dev/console 2>&1
|
||||||
|
|
||||||
Where what-follows is a program under the new root, e.g. /sbin/init
|
Where what-follows is a program under the new root, e.g. /sbin/init
|
||||||
If the new root file system will be used with devfs and has no valid
|
If the new root file system will be used with udev and has no valid
|
||||||
/dev directory, devfs must be mounted before invoking chroot in order to
|
/dev directory, udev must be initialized before invoking chroot in order
|
||||||
provide /dev/console.
|
to provide /dev/console.
|
||||||
|
|
||||||
Note: implementation details of pivot_root may change with time. In order
|
Note: implementation details of pivot_root may change with time. In order
|
||||||
to ensure compatibility, the following points should be observed:
|
to ensure compatibility, the following points should be observed:
|
||||||
|
@ -236,7 +228,7 @@ Now, the initrd can be unmounted and the memory allocated by the RAM
|
||||||
disk can be freed:
|
disk can be freed:
|
||||||
|
|
||||||
# umount /initrd
|
# umount /initrd
|
||||||
# blockdev --flushbufs /dev/ram0 # /dev/rd/0 if using devfs
|
# blockdev --flushbufs /dev/ram0
|
||||||
|
|
||||||
It is also possible to use initrd with an NFS-mounted root, see the
|
It is also possible to use initrd with an NFS-mounted root, see the
|
||||||
pivot_root(8) man page for details.
|
pivot_root(8) man page for details.
|
||||||
|
|
|
@ -119,7 +119,6 @@ Code Seq# Include File Comments
|
||||||
'c' 00-7F linux/comstats.h conflict!
|
'c' 00-7F linux/comstats.h conflict!
|
||||||
'c' 00-7F linux/coda.h conflict!
|
'c' 00-7F linux/coda.h conflict!
|
||||||
'd' 00-FF linux/char/drm/drm/h conflict!
|
'd' 00-FF linux/char/drm/drm/h conflict!
|
||||||
'd' 00-1F linux/devfs_fs.h conflict!
|
|
||||||
'd' 00-DF linux/video_decoder.h conflict!
|
'd' 00-DF linux/video_decoder.h conflict!
|
||||||
'd' F0-FF linux/digi1.h
|
'd' F0-FF linux/digi1.h
|
||||||
'e' all linux/digi1.h conflict!
|
'e' all linux/digi1.h conflict!
|
||||||
|
|
|
@ -35,7 +35,6 @@ parameter is applicable:
|
||||||
APM Advanced Power Management support is enabled.
|
APM Advanced Power Management support is enabled.
|
||||||
AX25 Appropriate AX.25 support is enabled.
|
AX25 Appropriate AX.25 support is enabled.
|
||||||
CD Appropriate CD support is enabled.
|
CD Appropriate CD support is enabled.
|
||||||
DEVFS devfs support is enabled.
|
|
||||||
DRM Direct Rendering Management support is enabled.
|
DRM Direct Rendering Management support is enabled.
|
||||||
EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
|
EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
|
||||||
EFI EFI Partitioning (GPT) is enabled
|
EFI EFI Partitioning (GPT) is enabled
|
||||||
|
@ -440,9 +439,6 @@ running once the system is up.
|
||||||
Format: <area>[,<node>]
|
Format: <area>[,<node>]
|
||||||
See also Documentation/networking/decnet.txt.
|
See also Documentation/networking/decnet.txt.
|
||||||
|
|
||||||
devfs= [DEVFS]
|
|
||||||
See Documentation/filesystems/devfs/boot-options.
|
|
||||||
|
|
||||||
dhash_entries= [KNL]
|
dhash_entries= [KNL]
|
||||||
Set number of hash buckets for dentry cache.
|
Set number of hash buckets for dentry cache.
|
||||||
|
|
||||||
|
|
|
@ -541,7 +541,7 @@ init_dummy_console(void)
|
||||||
dummy_driver.init_termios = tty_std_termios;
|
dummy_driver.init_termios = tty_std_termios;
|
||||||
dummy_driver.init_termios.c_cflag =
|
dummy_driver.init_termios.c_cflag =
|
||||||
B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */
|
B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */
|
||||||
dummy_driver.flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS;
|
dummy_driver.flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
|
||||||
|
|
||||||
dummy_driver.open = dummy_open;
|
dummy_driver.open = dummy_open;
|
||||||
dummy_driver.close = dummy_close;
|
dummy_driver.close = dummy_close;
|
||||||
|
|
|
@ -353,7 +353,7 @@ init_dummy_console(void)
|
||||||
dummy_driver.init_termios = tty_std_termios;
|
dummy_driver.init_termios = tty_std_termios;
|
||||||
dummy_driver.init_termios.c_cflag =
|
dummy_driver.init_termios.c_cflag =
|
||||||
B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */
|
B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */
|
||||||
dummy_driver.flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS;
|
dummy_driver.flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
|
||||||
|
|
||||||
dummy_driver.open = dummy_open;
|
dummy_driver.open = dummy_open;
|
||||||
dummy_driver.close = dummy_close;
|
dummy_driver.close = dummy_close;
|
||||||
|
|
|
@ -493,7 +493,6 @@ static struct file_operations microcode_fops = {
|
||||||
static struct miscdevice microcode_dev = {
|
static struct miscdevice microcode_dev = {
|
||||||
.minor = MICROCODE_MINOR,
|
.minor = MICROCODE_MINOR,
|
||||||
.name = "microcode",
|
.name = "microcode",
|
||||||
.devfs_name = "cpu/microcode",
|
|
||||||
.fops = µcode_fops,
|
.fops = µcode_fops,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1758,7 +1758,7 @@ int __init siccuart_init(void)
|
||||||
siccnormal_driver->subtype = SERIAL_TYPE_NORMAL;
|
siccnormal_driver->subtype = SERIAL_TYPE_NORMAL;
|
||||||
siccnormal_driver->init_termios = tty_std_termios;
|
siccnormal_driver->init_termios = tty_std_termios;
|
||||||
siccnormal_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
|
siccnormal_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
|
||||||
siccnormal_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS;
|
siccnormal_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
|
||||||
tty_set_operations(siccnormal_driver, &sicc_ops);
|
tty_set_operations(siccnormal_driver, &sicc_ops);
|
||||||
|
|
||||||
if (tty_register_driver(siccnormal_driver))
|
if (tty_register_driver(siccnormal_driver))
|
||||||
|
|
|
@ -417,7 +417,6 @@ static struct file_operations sq_fops = {
|
||||||
static struct miscdevice sq_dev = {
|
static struct miscdevice sq_dev = {
|
||||||
.minor = STORE_QUEUE_MINOR,
|
.minor = STORE_QUEUE_MINOR,
|
||||||
.name = "sq",
|
.name = "sq",
|
||||||
.devfs_name = "cpu/sq",
|
|
||||||
.fops = &sq_fops,
|
.fops = &sq_fops,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/syscalls.h>
|
#include <linux/syscalls.h>
|
||||||
#include <linux/in.h>
|
#include <linux/in.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
|
|
||||||
#include <net/sock.h>
|
#include <net/sock.h>
|
||||||
|
|
||||||
|
@ -190,8 +189,6 @@ init_socksys(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_cdev(MKDEV(30, 0), S_IFCHR|S_IRUSR|S_IWUSR, "socksys");
|
|
||||||
|
|
||||||
file = fcheck(ret);
|
file = fcheck(ret);
|
||||||
/* N.B. Is this valid? Suppose the f_ops are in a module ... */
|
/* N.B. Is this valid? Suppose the f_ops are in a module ... */
|
||||||
socksys_file_ops = *file->f_op;
|
socksys_file_ops = *file->f_op;
|
||||||
|
@ -207,5 +204,4 @@ cleanup_socksys(void)
|
||||||
{
|
{
|
||||||
if (unregister_chrdev(30, "socksys"))
|
if (unregister_chrdev(30, "socksys"))
|
||||||
printk ("Couldn't unregister socksys character device\n");
|
printk ("Couldn't unregister socksys character device\n");
|
||||||
devfs_remove ("socksys");
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "linux/list.h"
|
#include "linux/list.h"
|
||||||
#include "linux/kd.h"
|
#include "linux/kd.h"
|
||||||
#include "linux/interrupt.h"
|
#include "linux/interrupt.h"
|
||||||
#include "linux/devfs_fs_kernel.h"
|
|
||||||
#include "asm/uaccess.h"
|
#include "asm/uaccess.h"
|
||||||
#include "chan_kern.h"
|
#include "chan_kern.h"
|
||||||
#include "irq_user.h"
|
#include "irq_user.h"
|
||||||
|
@ -655,7 +654,6 @@ struct tty_driver *line_register_devfs(struct lines *set,
|
||||||
|
|
||||||
driver->driver_name = line_driver->name;
|
driver->driver_name = line_driver->name;
|
||||||
driver->name = line_driver->device_name;
|
driver->name = line_driver->device_name;
|
||||||
driver->devfs_name = line_driver->devfs_name;
|
|
||||||
driver->major = line_driver->major;
|
driver->major = line_driver->major;
|
||||||
driver->minor_start = line_driver->minor_start;
|
driver->minor_start = line_driver->minor_start;
|
||||||
driver->type = line_driver->type;
|
driver->type = line_driver->type;
|
||||||
|
|
|
@ -54,7 +54,6 @@ static int ssl_remove(int n);
|
||||||
static struct line_driver driver = {
|
static struct line_driver driver = {
|
||||||
.name = "UML serial line",
|
.name = "UML serial line",
|
||||||
.device_name = "ttyS",
|
.device_name = "ttyS",
|
||||||
.devfs_name = "tts/",
|
|
||||||
.major = TTY_MAJOR,
|
.major = TTY_MAJOR,
|
||||||
.minor_start = 64,
|
.minor_start = 64,
|
||||||
.type = TTY_DRIVER_TYPE_SERIAL,
|
.type = TTY_DRIVER_TYPE_SERIAL,
|
||||||
|
|
|
@ -60,7 +60,6 @@ static int con_remove(int n);
|
||||||
static struct line_driver driver = {
|
static struct line_driver driver = {
|
||||||
.name = "UML console",
|
.name = "UML console",
|
||||||
.device_name = "tty",
|
.device_name = "tty",
|
||||||
.devfs_name = "vc/",
|
|
||||||
.major = TTY_MAJOR,
|
.major = TTY_MAJOR,
|
||||||
.minor_start = 0,
|
.minor_start = 0,
|
||||||
.type = TTY_DRIVER_TYPE_CONSOLE,
|
.type = TTY_DRIVER_TYPE_CONSOLE,
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include "linux/blkdev.h"
|
#include "linux/blkdev.h"
|
||||||
#include "linux/hdreg.h"
|
#include "linux/hdreg.h"
|
||||||
#include "linux/init.h"
|
#include "linux/init.h"
|
||||||
#include "linux/devfs_fs_kernel.h"
|
|
||||||
#include "linux/cdrom.h"
|
#include "linux/cdrom.h"
|
||||||
#include "linux/proc_fs.h"
|
#include "linux/proc_fs.h"
|
||||||
#include "linux/ctype.h"
|
#include "linux/ctype.h"
|
||||||
|
@ -628,7 +627,6 @@ static int ubd_new_disk(int major, u64 size, int unit,
|
||||||
|
|
||||||
{
|
{
|
||||||
struct gendisk *disk;
|
struct gendisk *disk;
|
||||||
char from[sizeof("ubd/nnnnn\0")], to[sizeof("discnnnnn/disc\0")];
|
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
disk = alloc_disk(1 << UBD_SHIFT);
|
disk = alloc_disk(1 << UBD_SHIFT);
|
||||||
|
@ -639,20 +637,10 @@ static int ubd_new_disk(int major, u64 size, int unit,
|
||||||
disk->first_minor = unit << UBD_SHIFT;
|
disk->first_minor = unit << UBD_SHIFT;
|
||||||
disk->fops = &ubd_blops;
|
disk->fops = &ubd_blops;
|
||||||
set_capacity(disk, size / 512);
|
set_capacity(disk, size / 512);
|
||||||
if(major == MAJOR_NR){
|
if(major == MAJOR_NR)
|
||||||
sprintf(disk->disk_name, "ubd%c", 'a' + unit);
|
sprintf(disk->disk_name, "ubd%c", 'a' + unit);
|
||||||
sprintf(disk->devfs_name, "ubd/disc%d", unit);
|
else
|
||||||
sprintf(from, "ubd/%d", unit);
|
|
||||||
sprintf(to, "disc%d/disc", unit);
|
|
||||||
err = devfs_mk_symlink(from, to);
|
|
||||||
if(err)
|
|
||||||
printk("ubd_new_disk failed to make link from %s to "
|
|
||||||
"%s, error = %d\n", from, to, err);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
sprintf(disk->disk_name, "ubd_fake%d", unit);
|
sprintf(disk->disk_name, "ubd_fake%d", unit);
|
||||||
sprintf(disk->devfs_name, "ubd_fake/disc%d", unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* sysfs register (not for ide fake devices) */
|
/* sysfs register (not for ide fake devices) */
|
||||||
if (major == MAJOR_NR) {
|
if (major == MAJOR_NR) {
|
||||||
|
@ -841,7 +829,6 @@ int ubd_init(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
devfs_mk_dir("ubd");
|
|
||||||
if (register_blkdev(MAJOR_NR, "ubd"))
|
if (register_blkdev(MAJOR_NR, "ubd"))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -855,7 +842,6 @@ int ubd_init(void)
|
||||||
char name[sizeof("ubd_nnn\0")];
|
char name[sizeof("ubd_nnn\0")];
|
||||||
|
|
||||||
snprintf(name, sizeof(name), "ubd_%d", fake_major);
|
snprintf(name, sizeof(name), "ubd_%d", fake_major);
|
||||||
devfs_mk_dir(name);
|
|
||||||
if (register_blkdev(fake_major, "ubd"))
|
if (register_blkdev(fake_major, "ubd"))
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
struct line_driver {
|
struct line_driver {
|
||||||
char *name;
|
char *name;
|
||||||
char *device_name;
|
char *device_name;
|
||||||
char *devfs_name;
|
|
||||||
short major;
|
short major;
|
||||||
short minor_start;
|
short minor_start;
|
||||||
short type;
|
short type;
|
||||||
|
|
|
@ -2530,7 +2530,6 @@ static boolean DAC960_RegisterBlockDevice(DAC960_Controller_T *Controller)
|
||||||
blk_queue_max_sectors(RequestQueue, Controller->MaxBlocksPerCommand);
|
blk_queue_max_sectors(RequestQueue, Controller->MaxBlocksPerCommand);
|
||||||
disk->queue = RequestQueue;
|
disk->queue = RequestQueue;
|
||||||
sprintf(disk->disk_name, "rd/c%dd%d", Controller->ControllerNumber, n);
|
sprintf(disk->disk_name, "rd/c%dd%d", Controller->ControllerNumber, n);
|
||||||
sprintf(disk->devfs_name, "rd/host%d/target%d", Controller->ControllerNumber, n);
|
|
||||||
disk->major = MajorNumber;
|
disk->major = MajorNumber;
|
||||||
disk->first_minor = n << DAC960_MaxPartitionsBits;
|
disk->first_minor = n << DAC960_MaxPartitionsBits;
|
||||||
disk->fops = &DAC960_BlockDeviceOperations;
|
disk->fops = &DAC960_BlockDeviceOperations;
|
||||||
|
|
|
@ -1732,13 +1732,10 @@ int acsi_init( void )
|
||||||
struct gendisk *disk = acsi_gendisk[i];
|
struct gendisk *disk = acsi_gendisk[i];
|
||||||
sprintf(disk->disk_name, "ad%c", 'a'+i);
|
sprintf(disk->disk_name, "ad%c", 'a'+i);
|
||||||
aip = &acsi_info[NDevices];
|
aip = &acsi_info[NDevices];
|
||||||
sprintf(disk->devfs_name, "ad/target%d/lun%d", aip->target, aip->lun);
|
|
||||||
disk->major = ACSI_MAJOR;
|
disk->major = ACSI_MAJOR;
|
||||||
disk->first_minor = i << 4;
|
disk->first_minor = i << 4;
|
||||||
if (acsi_info[i].type != HARDDISK) {
|
if (acsi_info[i].type != HARDDISK)
|
||||||
disk->minors = 1;
|
disk->minors = 1;
|
||||||
strcat(disk->devfs_name, "/disc");
|
|
||||||
}
|
|
||||||
disk->fops = &acsi_fops;
|
disk->fops = &acsi_fops;
|
||||||
disk->private_data = &acsi_info[i];
|
disk->private_data = &acsi_info[i];
|
||||||
set_capacity(disk, acsi_info[i].size);
|
set_capacity(disk, acsi_info[i].size);
|
||||||
|
|
|
@ -65,7 +65,6 @@ not be guaranteed. There are several ways to assure this:
|
||||||
#include <linux/time.h>
|
#include <linux/time.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
|
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
|
@ -1005,11 +1004,6 @@ int slm_init( void )
|
||||||
BufferP = SLMBuffer;
|
BufferP = SLMBuffer;
|
||||||
SLMState = IDLE;
|
SLMState = IDLE;
|
||||||
|
|
||||||
devfs_mk_dir("slm");
|
|
||||||
for (i = 0; i < MAX_SLM; i++) {
|
|
||||||
devfs_mk_cdev(MKDEV(ACSI_MAJOR, i),
|
|
||||||
S_IFCHR|S_IRUSR|S_IWUSR, "slm/%d", i);
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1032,10 +1026,6 @@ int init_module(void)
|
||||||
|
|
||||||
void cleanup_module(void)
|
void cleanup_module(void)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
for (i = 0; i < MAX_SLM; i++)
|
|
||||||
devfs_remove("slm/%d", i);
|
|
||||||
devfs_remove("slm");
|
|
||||||
if (unregister_chrdev( ACSI_MAJOR, "slm" ) != 0)
|
if (unregister_chrdev( ACSI_MAJOR, "slm" ) != 0)
|
||||||
printk( KERN_ERR "acsi_slm: cleanup_module failed\n");
|
printk( KERN_ERR "acsi_slm: cleanup_module failed\n");
|
||||||
atari_stram_free( SLMBuffer );
|
atari_stram_free( SLMBuffer );
|
||||||
|
|
|
@ -3248,7 +3248,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
|
||||||
|
|
||||||
q->queuedata = hba[i];
|
q->queuedata = hba[i];
|
||||||
sprintf(disk->disk_name, "cciss/c%dd%d", i, j);
|
sprintf(disk->disk_name, "cciss/c%dd%d", i, j);
|
||||||
sprintf(disk->devfs_name, "cciss/host%d/target%d", i, j);
|
|
||||||
disk->major = hba[i]->major;
|
disk->major = hba[i]->major;
|
||||||
disk->first_minor = j << NWD_SHIFT;
|
disk->first_minor = j << NWD_SHIFT;
|
||||||
disk->fops = &cciss_fops;
|
disk->fops = &cciss_fops;
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <linux/blkpg.h>
|
#include <linux/blkpg.h>
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/hdreg.h>
|
#include <linux/hdreg.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
|
@ -348,7 +347,6 @@ static void __devexit cpqarray_remove_one(int i)
|
||||||
for(j = 0; j < NWD; j++) {
|
for(j = 0; j < NWD; j++) {
|
||||||
if (ida_gendisk[i][j]->flags & GENHD_FL_UP)
|
if (ida_gendisk[i][j]->flags & GENHD_FL_UP)
|
||||||
del_gendisk(ida_gendisk[i][j]);
|
del_gendisk(ida_gendisk[i][j]);
|
||||||
devfs_remove("ida/c%dd%d",i,j);
|
|
||||||
put_disk(ida_gendisk[i][j]);
|
put_disk(ida_gendisk[i][j]);
|
||||||
}
|
}
|
||||||
blk_cleanup_queue(hba[i]->queue);
|
blk_cleanup_queue(hba[i]->queue);
|
||||||
|
@ -1807,8 +1805,6 @@ static void getgeometry(int ctlr)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(disk->devfs_name, "ida/c%dd%d", ctlr, log_unit);
|
|
||||||
|
|
||||||
info_p->phys_drives =
|
info_p->phys_drives =
|
||||||
sense_config_buf->ctlr_phys_drv;
|
sense_config_buf->ctlr_phys_drv;
|
||||||
info_p->drv_assign_map
|
info_p->drv_assign_map
|
||||||
|
@ -1844,7 +1840,6 @@ static void __exit cpqarray_exit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_remove("ida");
|
|
||||||
remove_proc_entry("cpqarray", proc_root_driver);
|
remove_proc_entry("cpqarray", proc_root_driver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -177,7 +177,6 @@ static int print_unex = 1;
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/buffer_head.h> /* for invalidate_buffers() */
|
#include <linux/buffer_head.h> /* for invalidate_buffers() */
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
@ -224,7 +223,6 @@ static struct completion device_release;
|
||||||
static unsigned short virtual_dma_port = 0x3f0;
|
static unsigned short virtual_dma_port = 0x3f0;
|
||||||
irqreturn_t floppy_interrupt(int irq, void *dev_id, struct pt_regs *regs);
|
irqreturn_t floppy_interrupt(int irq, void *dev_id, struct pt_regs *regs);
|
||||||
static int set_dor(int fdc, char mask, char data);
|
static int set_dor(int fdc, char mask, char data);
|
||||||
static void register_devfs_entries(int drive) __init;
|
|
||||||
|
|
||||||
#define K_64 0x10000 /* 64KB */
|
#define K_64 0x10000 /* 64KB */
|
||||||
|
|
||||||
|
@ -3676,7 +3674,6 @@ static void __init config_types(void)
|
||||||
first = 0;
|
first = 0;
|
||||||
}
|
}
|
||||||
printk("%s fd%d is %s", prepend, drive, name);
|
printk("%s fd%d is %s", prepend, drive, name);
|
||||||
register_devfs_entries(drive);
|
|
||||||
}
|
}
|
||||||
*UDP = *params;
|
*UDP = *params;
|
||||||
}
|
}
|
||||||
|
@ -3954,37 +3951,6 @@ static struct block_device_operations floppy_fops = {
|
||||||
.media_changed = check_floppy_change,
|
.media_changed = check_floppy_change,
|
||||||
.revalidate_disk = floppy_revalidate,
|
.revalidate_disk = floppy_revalidate,
|
||||||
};
|
};
|
||||||
static char *table[] = {
|
|
||||||
"", "d360", "h1200", "u360", "u720", "h360", "h720",
|
|
||||||
"u1440", "u2880", "CompaQ", "h1440", "u1680", "h410",
|
|
||||||
"u820", "h1476", "u1722", "h420", "u830", "h1494", "u1743",
|
|
||||||
"h880", "u1040", "u1120", "h1600", "u1760", "u1920",
|
|
||||||
"u3200", "u3520", "u3840", "u1840", "u800", "u1600",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
static int t360[] = { 1, 0 },
|
|
||||||
t1200[] = { 2, 5, 6, 10, 12, 14, 16, 18, 20, 23, 0 },
|
|
||||||
t3in[] = { 8, 9, 26, 27, 28, 7, 11, 15, 19, 24, 25, 29, 31, 3, 4, 13,
|
|
||||||
17, 21, 22, 30, 0 };
|
|
||||||
static int *table_sup[] =
|
|
||||||
{ NULL, t360, t1200, t3in + 5 + 8, t3in + 5, t3in, t3in };
|
|
||||||
|
|
||||||
static void __init register_devfs_entries(int drive)
|
|
||||||
{
|
|
||||||
int base_minor = (drive < 4) ? drive : (124 + drive);
|
|
||||||
|
|
||||||
if (UDP->cmos < ARRAY_SIZE(default_drive_params)) {
|
|
||||||
int i = 0;
|
|
||||||
do {
|
|
||||||
int minor = base_minor + (table_sup[UDP->cmos][i] << 2);
|
|
||||||
|
|
||||||
devfs_mk_bdev(MKDEV(FLOPPY_MAJOR, minor),
|
|
||||||
S_IFBLK | S_IRUSR | S_IWUSR | S_IRGRP |
|
|
||||||
S_IWGRP, "floppy/%d%s", drive,
|
|
||||||
table[table_sup[UDP->cmos][i]]);
|
|
||||||
} while (table_sup[UDP->cmos][i++]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Floppy Driver initialization
|
* Floppy Driver initialization
|
||||||
|
@ -4261,11 +4227,9 @@ static int __init floppy_init(void)
|
||||||
motor_off_timer[dr].function = motor_off_callback;
|
motor_off_timer[dr].function = motor_off_callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir("floppy");
|
|
||||||
|
|
||||||
err = register_blkdev(FLOPPY_MAJOR, "fd");
|
err = register_blkdev(FLOPPY_MAJOR, "fd");
|
||||||
if (err)
|
if (err)
|
||||||
goto out_devfs_remove;
|
goto out_put_disk;
|
||||||
|
|
||||||
floppy_queue = blk_init_queue(do_fd_request, &floppy_lock);
|
floppy_queue = blk_init_queue(do_fd_request, &floppy_lock);
|
||||||
if (!floppy_queue) {
|
if (!floppy_queue) {
|
||||||
|
@ -4424,8 +4388,6 @@ out_unreg_region:
|
||||||
blk_cleanup_queue(floppy_queue);
|
blk_cleanup_queue(floppy_queue);
|
||||||
out_unreg_blkdev:
|
out_unreg_blkdev:
|
||||||
unregister_blkdev(FLOPPY_MAJOR, "fd");
|
unregister_blkdev(FLOPPY_MAJOR, "fd");
|
||||||
out_devfs_remove:
|
|
||||||
devfs_remove("floppy");
|
|
||||||
out_put_disk:
|
out_put_disk:
|
||||||
while (dr--) {
|
while (dr--) {
|
||||||
del_timer(&motor_off_timer[dr]);
|
del_timer(&motor_off_timer[dr]);
|
||||||
|
@ -4586,19 +4548,6 @@ static void floppy_release_irq_and_dma(void)
|
||||||
|
|
||||||
static char *floppy;
|
static char *floppy;
|
||||||
|
|
||||||
static void unregister_devfs_entries(int drive)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (UDP->cmos < ARRAY_SIZE(default_drive_params)) {
|
|
||||||
i = 0;
|
|
||||||
do {
|
|
||||||
devfs_remove("floppy/%d%s", drive,
|
|
||||||
table[table_sup[UDP->cmos][i]]);
|
|
||||||
} while (table_sup[UDP->cmos][i++]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __init parse_floppy_cfg_string(char *cfg)
|
static void __init parse_floppy_cfg_string(char *cfg)
|
||||||
{
|
{
|
||||||
char *ptr;
|
char *ptr;
|
||||||
|
@ -4635,13 +4584,11 @@ void cleanup_module(void)
|
||||||
if ((allowed_drive_mask & (1 << drive)) &&
|
if ((allowed_drive_mask & (1 << drive)) &&
|
||||||
fdc_state[FDC(drive)].version != FDC_NONE) {
|
fdc_state[FDC(drive)].version != FDC_NONE) {
|
||||||
del_gendisk(disks[drive]);
|
del_gendisk(disks[drive]);
|
||||||
unregister_devfs_entries(drive);
|
|
||||||
device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos);
|
device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos);
|
||||||
platform_device_unregister(&floppy_device[drive]);
|
platform_device_unregister(&floppy_device[drive]);
|
||||||
}
|
}
|
||||||
put_disk(disks[drive]);
|
put_disk(disks[drive]);
|
||||||
}
|
}
|
||||||
devfs_remove("floppy");
|
|
||||||
|
|
||||||
del_timer_sync(&fd_timeout);
|
del_timer_sync(&fd_timeout);
|
||||||
del_timer_sync(&fd_timer);
|
del_timer_sync(&fd_timer);
|
||||||
|
|
|
@ -63,7 +63,6 @@
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/blkpg.h>
|
#include <linux/blkpg.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/swap.h>
|
#include <linux/swap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
@ -1277,8 +1276,6 @@ static int __init loop_init(void)
|
||||||
goto out_mem3;
|
goto out_mem3;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir("loop");
|
|
||||||
|
|
||||||
for (i = 0; i < max_loop; i++) {
|
for (i = 0; i < max_loop; i++) {
|
||||||
struct loop_device *lo = &loop_dev[i];
|
struct loop_device *lo = &loop_dev[i];
|
||||||
struct gendisk *disk = disks[i];
|
struct gendisk *disk = disks[i];
|
||||||
|
@ -1296,7 +1293,6 @@ static int __init loop_init(void)
|
||||||
disk->first_minor = i;
|
disk->first_minor = i;
|
||||||
disk->fops = &lo_fops;
|
disk->fops = &lo_fops;
|
||||||
sprintf(disk->disk_name, "loop%d", i);
|
sprintf(disk->disk_name, "loop%d", i);
|
||||||
sprintf(disk->devfs_name, "loop/%d", i);
|
|
||||||
disk->private_data = lo;
|
disk->private_data = lo;
|
||||||
disk->queue = lo->lo_queue;
|
disk->queue = lo->lo_queue;
|
||||||
}
|
}
|
||||||
|
@ -1310,7 +1306,6 @@ static int __init loop_init(void)
|
||||||
out_mem4:
|
out_mem4:
|
||||||
while (i--)
|
while (i--)
|
||||||
blk_cleanup_queue(loop_dev[i].lo_queue);
|
blk_cleanup_queue(loop_dev[i].lo_queue);
|
||||||
devfs_remove("loop");
|
|
||||||
i = max_loop;
|
i = max_loop;
|
||||||
out_mem3:
|
out_mem3:
|
||||||
while (i--)
|
while (i--)
|
||||||
|
@ -1333,7 +1328,6 @@ static void loop_exit(void)
|
||||||
blk_cleanup_queue(loop_dev[i].lo_queue);
|
blk_cleanup_queue(loop_dev[i].lo_queue);
|
||||||
put_disk(disks[i]);
|
put_disk(disks[i]);
|
||||||
}
|
}
|
||||||
devfs_remove("loop");
|
|
||||||
if (unregister_blkdev(LOOP_MAJOR, "loop"))
|
if (unregister_blkdev(LOOP_MAJOR, "loop"))
|
||||||
printk(KERN_WARNING "loop: cannot unregister blkdev\n");
|
printk(KERN_WARNING "loop: cannot unregister blkdev\n");
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,6 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <net/sock.h>
|
#include <net/sock.h>
|
||||||
|
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/system.h>
|
#include <asm/system.h>
|
||||||
#include <asm/types.h>
|
#include <asm/types.h>
|
||||||
|
@ -642,7 +640,6 @@ static int __init nbd_init(void)
|
||||||
printk(KERN_INFO "nbd: registered device at major %d\n", NBD_MAJOR);
|
printk(KERN_INFO "nbd: registered device at major %d\n", NBD_MAJOR);
|
||||||
dprintk(DBG_INIT, "nbd: debugflags=0x%x\n", debugflags);
|
dprintk(DBG_INIT, "nbd: debugflags=0x%x\n", debugflags);
|
||||||
|
|
||||||
devfs_mk_dir("nbd");
|
|
||||||
for (i = 0; i < nbds_max; i++) {
|
for (i = 0; i < nbds_max; i++) {
|
||||||
struct gendisk *disk = nbd_dev[i].disk;
|
struct gendisk *disk = nbd_dev[i].disk;
|
||||||
nbd_dev[i].file = NULL;
|
nbd_dev[i].file = NULL;
|
||||||
|
@ -660,7 +657,6 @@ static int __init nbd_init(void)
|
||||||
disk->private_data = &nbd_dev[i];
|
disk->private_data = &nbd_dev[i];
|
||||||
disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO;
|
disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO;
|
||||||
sprintf(disk->disk_name, "nbd%d", i);
|
sprintf(disk->disk_name, "nbd%d", i);
|
||||||
sprintf(disk->devfs_name, "nbd/%d", i);
|
|
||||||
set_capacity(disk, 0x7ffffc00ULL << 1); /* 2 TB */
|
set_capacity(disk, 0x7ffffc00ULL << 1); /* 2 TB */
|
||||||
add_disk(disk);
|
add_disk(disk);
|
||||||
}
|
}
|
||||||
|
@ -686,7 +682,6 @@ static void __exit nbd_cleanup(void)
|
||||||
put_disk(disk);
|
put_disk(disk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
devfs_remove("nbd");
|
|
||||||
unregister_blkdev(NBD_MAJOR, "nbd");
|
unregister_blkdev(NBD_MAJOR, "nbd");
|
||||||
printk(KERN_INFO "nbd: unregistered device at major %d\n", NBD_MAJOR);
|
printk(KERN_INFO "nbd: unregistered device at major %d\n", NBD_MAJOR);
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,6 @@ enum {D_PRT, D_PRO, D_UNI, D_MOD, D_SLV, D_DLY};
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/mtio.h>
|
#include <linux/mtio.h>
|
||||||
|
@ -674,25 +673,15 @@ static int __init pg_init(void)
|
||||||
err = PTR_ERR(pg_class);
|
err = PTR_ERR(pg_class);
|
||||||
goto out_chrdev;
|
goto out_chrdev;
|
||||||
}
|
}
|
||||||
devfs_mk_dir("pg");
|
|
||||||
for (unit = 0; unit < PG_UNITS; unit++) {
|
for (unit = 0; unit < PG_UNITS; unit++) {
|
||||||
struct pg *dev = &devices[unit];
|
struct pg *dev = &devices[unit];
|
||||||
if (dev->present) {
|
if (dev->present)
|
||||||
class_device_create(pg_class, NULL, MKDEV(major, unit),
|
class_device_create(pg_class, NULL, MKDEV(major, unit),
|
||||||
NULL, "pg%u", unit);
|
NULL, "pg%u", unit);
|
||||||
err = devfs_mk_cdev(MKDEV(major, unit),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR, "pg/%u",
|
|
||||||
unit);
|
|
||||||
if (err)
|
|
||||||
goto out_class;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
err = 0;
|
err = 0;
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
out_class:
|
|
||||||
class_device_destroy(pg_class, MKDEV(major, unit));
|
|
||||||
class_destroy(pg_class);
|
|
||||||
out_chrdev:
|
out_chrdev:
|
||||||
unregister_chrdev(major, "pg");
|
unregister_chrdev(major, "pg");
|
||||||
out:
|
out:
|
||||||
|
@ -705,13 +694,10 @@ static void __exit pg_exit(void)
|
||||||
|
|
||||||
for (unit = 0; unit < PG_UNITS; unit++) {
|
for (unit = 0; unit < PG_UNITS; unit++) {
|
||||||
struct pg *dev = &devices[unit];
|
struct pg *dev = &devices[unit];
|
||||||
if (dev->present) {
|
if (dev->present)
|
||||||
class_device_destroy(pg_class, MKDEV(major, unit));
|
class_device_destroy(pg_class, MKDEV(major, unit));
|
||||||
devfs_remove("pg/%u", unit);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
class_destroy(pg_class);
|
class_destroy(pg_class);
|
||||||
devfs_remove("pg");
|
|
||||||
unregister_chrdev(major, name);
|
unregister_chrdev(major, name);
|
||||||
|
|
||||||
for (unit = 0; unit < PG_UNITS; unit++) {
|
for (unit = 0; unit < PG_UNITS; unit++) {
|
||||||
|
|
|
@ -141,7 +141,6 @@ static int (*drives[4])[6] = {&drive0, &drive1, &drive2, &drive3};
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/mtio.h>
|
#include <linux/mtio.h>
|
||||||
|
@ -971,32 +970,15 @@ static int __init pt_init(void)
|
||||||
goto out_chrdev;
|
goto out_chrdev;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir("pt");
|
|
||||||
for (unit = 0; unit < PT_UNITS; unit++)
|
for (unit = 0; unit < PT_UNITS; unit++)
|
||||||
if (pt[unit].present) {
|
if (pt[unit].present) {
|
||||||
class_device_create(pt_class, NULL, MKDEV(major, unit),
|
class_device_create(pt_class, NULL, MKDEV(major, unit),
|
||||||
NULL, "pt%d", unit);
|
NULL, "pt%d", unit);
|
||||||
err = devfs_mk_cdev(MKDEV(major, unit),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"pt/%d", unit);
|
|
||||||
if (err) {
|
|
||||||
class_device_destroy(pt_class, MKDEV(major, unit));
|
|
||||||
goto out_class;
|
|
||||||
}
|
|
||||||
class_device_create(pt_class, NULL, MKDEV(major, unit + 128),
|
class_device_create(pt_class, NULL, MKDEV(major, unit + 128),
|
||||||
NULL, "pt%dn", unit);
|
NULL, "pt%dn", unit);
|
||||||
err = devfs_mk_cdev(MKDEV(major, unit + 128),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"pt/%dn", unit);
|
|
||||||
if (err) {
|
|
||||||
class_device_destroy(pt_class, MKDEV(major, unit + 128));
|
|
||||||
goto out_class;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
out_class:
|
|
||||||
class_destroy(pt_class);
|
|
||||||
out_chrdev:
|
out_chrdev:
|
||||||
unregister_chrdev(major, "pt");
|
unregister_chrdev(major, "pt");
|
||||||
out:
|
out:
|
||||||
|
@ -1009,12 +991,9 @@ static void __exit pt_exit(void)
|
||||||
for (unit = 0; unit < PT_UNITS; unit++)
|
for (unit = 0; unit < PT_UNITS; unit++)
|
||||||
if (pt[unit].present) {
|
if (pt[unit].present) {
|
||||||
class_device_destroy(pt_class, MKDEV(major, unit));
|
class_device_destroy(pt_class, MKDEV(major, unit));
|
||||||
devfs_remove("pt/%d", unit);
|
|
||||||
class_device_destroy(pt_class, MKDEV(major, unit + 128));
|
class_device_destroy(pt_class, MKDEV(major, unit + 128));
|
||||||
devfs_remove("pt/%dn", unit);
|
|
||||||
}
|
}
|
||||||
class_destroy(pt_class);
|
class_destroy(pt_class);
|
||||||
devfs_remove("pt");
|
|
||||||
unregister_chrdev(major, name);
|
unregister_chrdev(major, name);
|
||||||
for (unit = 0; unit < PT_UNITS; unit++)
|
for (unit = 0; unit < PT_UNITS; unit++)
|
||||||
if (pt[unit].present)
|
if (pt[unit].present)
|
||||||
|
|
|
@ -2612,7 +2612,6 @@ static struct file_operations pkt_ctl_fops = {
|
||||||
static struct miscdevice pkt_misc = {
|
static struct miscdevice pkt_misc = {
|
||||||
.minor = MISC_DYNAMIC_MINOR,
|
.minor = MISC_DYNAMIC_MINOR,
|
||||||
.name = "pktcdvd",
|
.name = "pktcdvd",
|
||||||
.devfs_name = "pktcdvd/control",
|
|
||||||
.fops = &pkt_ctl_fops
|
.fops = &pkt_ctl_fops
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -421,7 +421,6 @@ static int __init ps2esdi_geninit(void)
|
||||||
disk->major = PS2ESDI_MAJOR;
|
disk->major = PS2ESDI_MAJOR;
|
||||||
disk->first_minor = i<<6;
|
disk->first_minor = i<<6;
|
||||||
sprintf(disk->disk_name, "ed%c", 'a'+i);
|
sprintf(disk->disk_name, "ed%c", 'a'+i);
|
||||||
sprintf(disk->devfs_name, "ed/target%d", i);
|
|
||||||
disk->fops = &ps2esdi_fops;
|
disk->fops = &ps2esdi_fops;
|
||||||
ps2esdi_gendisk[i] = disk;
|
ps2esdi_gendisk[i] = disk;
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,6 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/moduleparam.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/pagemap.h>
|
#include <linux/pagemap.h>
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/genhd.h>
|
#include <linux/genhd.h>
|
||||||
|
@ -412,7 +411,6 @@ static void __exit rd_cleanup(void)
|
||||||
put_disk(rd_disks[i]);
|
put_disk(rd_disks[i]);
|
||||||
blk_cleanup_queue(rd_queue[i]);
|
blk_cleanup_queue(rd_queue[i]);
|
||||||
}
|
}
|
||||||
devfs_remove("rd");
|
|
||||||
unregister_blkdev(RAMDISK_MAJOR, "ramdisk");
|
unregister_blkdev(RAMDISK_MAJOR, "ramdisk");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -442,8 +440,6 @@ static int __init rd_init(void)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir("rd");
|
|
||||||
|
|
||||||
for (i = 0; i < CONFIG_BLK_DEV_RAM_COUNT; i++) {
|
for (i = 0; i < CONFIG_BLK_DEV_RAM_COUNT; i++) {
|
||||||
struct gendisk *disk = rd_disks[i];
|
struct gendisk *disk = rd_disks[i];
|
||||||
|
|
||||||
|
@ -461,7 +457,6 @@ static int __init rd_init(void)
|
||||||
disk->queue = rd_queue[i];
|
disk->queue = rd_queue[i];
|
||||||
disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO;
|
disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO;
|
||||||
sprintf(disk->disk_name, "ram%d", i);
|
sprintf(disk->disk_name, "ram%d", i);
|
||||||
sprintf(disk->devfs_name, "rd/%d", i);
|
|
||||||
set_capacity(disk, rd_size * 2);
|
set_capacity(disk, rd_size * 2);
|
||||||
add_disk(rd_disks[i]);
|
add_disk(rd_disks[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include <linux/fd.h>
|
#include <linux/fd.h>
|
||||||
#include <linux/ioctl.h>
|
#include <linux/ioctl.h>
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
|
@ -1019,8 +1018,6 @@ int swim3_init(void)
|
||||||
int err = -ENOMEM;
|
int err = -ENOMEM;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
devfs_mk_dir("floppy");
|
|
||||||
|
|
||||||
swim = find_devices("floppy");
|
swim = find_devices("floppy");
|
||||||
while (swim && (floppy_count < MAX_FLOPPIES))
|
while (swim && (floppy_count < MAX_FLOPPIES))
|
||||||
{
|
{
|
||||||
|
@ -1064,7 +1061,6 @@ int swim3_init(void)
|
||||||
disk->queue = swim3_queue;
|
disk->queue = swim3_queue;
|
||||||
disk->flags |= GENHD_FL_REMOVABLE;
|
disk->flags |= GENHD_FL_REMOVABLE;
|
||||||
sprintf(disk->disk_name, "fd%d", i);
|
sprintf(disk->disk_name, "fd%d", i);
|
||||||
sprintf(disk->devfs_name, "floppy/%d", i);
|
|
||||||
set_capacity(disk, 2880);
|
set_capacity(disk, 2880);
|
||||||
add_disk(disk);
|
add_disk(disk);
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/compiler.h>
|
#include <linux/compiler.h>
|
||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
|
@ -1510,7 +1509,6 @@ static int carm_init_disks(struct carm_host *host)
|
||||||
port->disk = disk;
|
port->disk = disk;
|
||||||
sprintf(disk->disk_name, DRV_NAME "/%u",
|
sprintf(disk->disk_name, DRV_NAME "/%u",
|
||||||
(unsigned int) (host->id * CARM_MAX_PORTS) + i);
|
(unsigned int) (host->id * CARM_MAX_PORTS) + i);
|
||||||
sprintf(disk->devfs_name, DRV_NAME "/%u_%u", host->id, i);
|
|
||||||
disk->major = host->major;
|
disk->major = host->major;
|
||||||
disk->first_minor = i * CARM_MINORS_PER_MAJOR;
|
disk->first_minor = i * CARM_MINORS_PER_MAJOR;
|
||||||
disk->fops = &carm_bd_ops;
|
disk->fops = &carm_bd_ops;
|
||||||
|
@ -1672,8 +1670,6 @@ static int carm_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
if (host->flags & FL_DYN_MAJOR)
|
if (host->flags & FL_DYN_MAJOR)
|
||||||
host->major = rc;
|
host->major = rc;
|
||||||
|
|
||||||
devfs_mk_dir(DRV_NAME);
|
|
||||||
|
|
||||||
rc = carm_init_disks(host);
|
rc = carm_init_disks(host);
|
||||||
if (rc)
|
if (rc)
|
||||||
goto err_out_blkdev_disks;
|
goto err_out_blkdev_disks;
|
||||||
|
@ -1739,7 +1735,6 @@ static void carm_remove_one (struct pci_dev *pdev)
|
||||||
|
|
||||||
free_irq(pdev->irq, host);
|
free_irq(pdev->irq, host);
|
||||||
carm_free_disks(host);
|
carm_free_disks(host);
|
||||||
devfs_remove(DRV_NAME);
|
|
||||||
unregister_blkdev(host->major, host->name);
|
unregister_blkdev(host->major, host->name);
|
||||||
if (host->major == 160)
|
if (host->major == 160)
|
||||||
clear_bit(0, &carm_major_alloc);
|
clear_bit(0, &carm_major_alloc);
|
||||||
|
|
|
@ -24,12 +24,10 @@
|
||||||
#include <linux/usb.h>
|
#include <linux/usb.h>
|
||||||
#include <linux/usb_usual.h>
|
#include <linux/usb_usual.h>
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <scsi/scsi.h>
|
#include <scsi/scsi.h>
|
||||||
|
|
||||||
#define DRV_NAME "ub"
|
#define DRV_NAME "ub"
|
||||||
#define DEVFS_NAME DRV_NAME
|
|
||||||
|
|
||||||
#define UB_MAJOR 180
|
#define UB_MAJOR 180
|
||||||
|
|
||||||
|
@ -2291,7 +2289,6 @@ static int ub_probe_lun(struct ub_dev *sc, int lnum)
|
||||||
goto err_diskalloc;
|
goto err_diskalloc;
|
||||||
|
|
||||||
sprintf(disk->disk_name, DRV_NAME "%c", lun->id + 'a');
|
sprintf(disk->disk_name, DRV_NAME "%c", lun->id + 'a');
|
||||||
sprintf(disk->devfs_name, DEVFS_NAME "/%c", lun->id + 'a');
|
|
||||||
disk->major = UB_MAJOR;
|
disk->major = UB_MAJOR;
|
||||||
disk->first_minor = lun->id * UB_PARTS_PER_LUN;
|
disk->first_minor = lun->id * UB_PARTS_PER_LUN;
|
||||||
disk->fops = &ub_bd_fops;
|
disk->fops = &ub_bd_fops;
|
||||||
|
@ -2445,7 +2442,6 @@ static int __init ub_init(void)
|
||||||
|
|
||||||
if ((rc = register_blkdev(UB_MAJOR, DRV_NAME)) != 0)
|
if ((rc = register_blkdev(UB_MAJOR, DRV_NAME)) != 0)
|
||||||
goto err_regblkdev;
|
goto err_regblkdev;
|
||||||
devfs_mk_dir(DEVFS_NAME);
|
|
||||||
|
|
||||||
if ((rc = usb_register(&ub_driver)) != 0)
|
if ((rc = usb_register(&ub_driver)) != 0)
|
||||||
goto err_register;
|
goto err_register;
|
||||||
|
@ -2454,7 +2450,6 @@ static int __init ub_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_register:
|
err_register:
|
||||||
devfs_remove(DEVFS_NAME);
|
|
||||||
unregister_blkdev(UB_MAJOR, DRV_NAME);
|
unregister_blkdev(UB_MAJOR, DRV_NAME);
|
||||||
err_regblkdev:
|
err_regblkdev:
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -2464,7 +2459,6 @@ static void __exit ub_exit(void)
|
||||||
{
|
{
|
||||||
usb_deregister(&ub_driver);
|
usb_deregister(&ub_driver);
|
||||||
|
|
||||||
devfs_remove(DEVFS_NAME);
|
|
||||||
unregister_blkdev(UB_MAJOR, DRV_NAME);
|
unregister_blkdev(UB_MAJOR, DRV_NAME);
|
||||||
usb_usual_clear_present(USB_US_TYPE_UB);
|
usb_usual_clear_present(USB_US_TYPE_UB);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1192,7 +1192,6 @@ static int __init mm_init(void)
|
||||||
for (i = 0; i < num_cards; i++) {
|
for (i = 0; i < num_cards; i++) {
|
||||||
struct gendisk *disk = mm_gendisk[i];
|
struct gendisk *disk = mm_gendisk[i];
|
||||||
sprintf(disk->disk_name, "umem%c", 'a'+i);
|
sprintf(disk->disk_name, "umem%c", 'a'+i);
|
||||||
sprintf(disk->devfs_name, "umem/card%d", i);
|
|
||||||
spin_lock_init(&cards[i].lock);
|
spin_lock_init(&cards[i].lock);
|
||||||
disk->major = major_nr;
|
disk->major = major_nr;
|
||||||
disk->first_minor = i << MM_SHIFT;
|
disk->first_minor = i << MM_SHIFT;
|
||||||
|
|
|
@ -59,7 +59,6 @@ MODULE_LICENSE("GPL");
|
||||||
* numbers 0-255 we get a maximum of 32 disks.
|
* numbers 0-255 we get a maximum of 32 disks.
|
||||||
*/
|
*/
|
||||||
#define VIOD_GENHD_NAME "iseries/vd"
|
#define VIOD_GENHD_NAME "iseries/vd"
|
||||||
#define VIOD_GENHD_DEVFS_NAME "iseries/disc"
|
|
||||||
|
|
||||||
#define VIOD_VERS "1.64"
|
#define VIOD_VERS "1.64"
|
||||||
|
|
||||||
|
@ -523,8 +522,6 @@ retry:
|
||||||
else
|
else
|
||||||
snprintf(g->disk_name, sizeof(g->disk_name),
|
snprintf(g->disk_name, sizeof(g->disk_name),
|
||||||
VIOD_GENHD_NAME "%c", 'a' + (dev_no % 26));
|
VIOD_GENHD_NAME "%c", 'a' + (dev_no % 26));
|
||||||
snprintf(g->devfs_name, sizeof(g->devfs_name),
|
|
||||||
"%s%d", VIOD_GENHD_DEVFS_NAME, dev_no);
|
|
||||||
g->fops = &viodasd_fops;
|
g->fops = &viodasd_fops;
|
||||||
g->queue = q;
|
g->queue = q;
|
||||||
g->private_data = d;
|
g->private_data = d;
|
||||||
|
|
|
@ -215,7 +215,6 @@ static int __init xd_init(void)
|
||||||
disk->major = XT_DISK_MAJOR;
|
disk->major = XT_DISK_MAJOR;
|
||||||
disk->first_minor = i<<6;
|
disk->first_minor = i<<6;
|
||||||
sprintf(disk->disk_name, "xd%c", i+'a');
|
sprintf(disk->disk_name, "xd%c", i+'a');
|
||||||
sprintf(disk->devfs_name, "xd/target%d", i);
|
|
||||||
disk->fops = &xd_fops;
|
disk->fops = &xd_fops;
|
||||||
disk->private_data = p;
|
disk->private_data = p;
|
||||||
disk->queue = xd_queue;
|
disk->queue = xd_queue;
|
||||||
|
|
|
@ -354,7 +354,6 @@ z2_init(void)
|
||||||
z2ram_gendisk->first_minor = 0;
|
z2ram_gendisk->first_minor = 0;
|
||||||
z2ram_gendisk->fops = &z2_fops;
|
z2ram_gendisk->fops = &z2_fops;
|
||||||
sprintf(z2ram_gendisk->disk_name, "z2ram");
|
sprintf(z2ram_gendisk->disk_name, "z2ram");
|
||||||
strcpy(z2ram_gendisk->devfs_name, z2ram_gendisk->disk_name);
|
|
||||||
|
|
||||||
z2ram_gendisk->queue = z2_queue;
|
z2ram_gendisk->queue = z2_queue;
|
||||||
add_disk(z2ram_gendisk);
|
add_disk(z2ram_gendisk);
|
||||||
|
|
|
@ -1918,7 +1918,6 @@ static int __init aztcd_init(void)
|
||||||
azt_disk->first_minor = 0;
|
azt_disk->first_minor = 0;
|
||||||
azt_disk->fops = &azt_fops;
|
azt_disk->fops = &azt_fops;
|
||||||
sprintf(azt_disk->disk_name, "aztcd");
|
sprintf(azt_disk->disk_name, "aztcd");
|
||||||
sprintf(azt_disk->devfs_name, "aztcd");
|
|
||||||
azt_disk->queue = azt_queue;
|
azt_disk->queue = azt_queue;
|
||||||
add_disk(azt_disk);
|
add_disk(azt_disk);
|
||||||
azt_invalidate_buffers();
|
azt_invalidate_buffers();
|
||||||
|
|
|
@ -161,7 +161,6 @@
|
||||||
#include <linux/hdreg.h>
|
#include <linux/hdreg.h>
|
||||||
#include <linux/genhd.h>
|
#include <linux/genhd.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
|
|
@ -187,7 +187,6 @@ History:
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <linux/cdrom.h>
|
#include <linux/cdrom.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
|
@ -955,7 +955,6 @@ static int __init gscd_init(void)
|
||||||
gscd_disk->first_minor = 0;
|
gscd_disk->first_minor = 0;
|
||||||
gscd_disk->fops = &gscd_fops;
|
gscd_disk->fops = &gscd_fops;
|
||||||
sprintf(gscd_disk->disk_name, "gscd");
|
sprintf(gscd_disk->disk_name, "gscd");
|
||||||
sprintf(gscd_disk->devfs_name, "gscd");
|
|
||||||
|
|
||||||
if (register_blkdev(MAJOR_NR, "gscd")) {
|
if (register_blkdev(MAJOR_NR, "gscd")) {
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
|
|
|
@ -74,7 +74,6 @@ static const char *mcdx_c_version
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#define MAJOR_NR MITSUMI_X_CDROM_MAJOR
|
#define MAJOR_NR MITSUMI_X_CDROM_MAJOR
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
|
|
||||||
#include "mcdx.h"
|
#include "mcdx.h"
|
||||||
|
|
||||||
|
|
|
@ -2033,7 +2033,6 @@ static int __init optcd_init(void)
|
||||||
optcd_disk->first_minor = 0;
|
optcd_disk->first_minor = 0;
|
||||||
optcd_disk->fops = &opt_fops;
|
optcd_disk->fops = &opt_fops;
|
||||||
sprintf(optcd_disk->disk_name, "optcd");
|
sprintf(optcd_disk->disk_name, "optcd");
|
||||||
sprintf(optcd_disk->devfs_name, "optcd");
|
|
||||||
|
|
||||||
if (!request_region(optcd_port, 4, "optcd")) {
|
if (!request_region(optcd_port, 4, "optcd")) {
|
||||||
printk(KERN_ERR "optcd: conflict, I/O port 0x%x already used\n",
|
printk(KERN_ERR "optcd: conflict, I/O port 0x%x already used\n",
|
||||||
|
|
|
@ -371,7 +371,6 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/cdrom.h>
|
#include <linux/cdrom.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/vmalloc.h>
|
#include <linux/vmalloc.h>
|
||||||
|
@ -5808,8 +5807,6 @@ int __init sbpcd_init(void)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir("sbp");
|
|
||||||
|
|
||||||
for (j=0;j<NR_SBPCD;j++)
|
for (j=0;j<NR_SBPCD;j++)
|
||||||
{
|
{
|
||||||
struct cdrom_device_info * sbpcd_infop;
|
struct cdrom_device_info * sbpcd_infop;
|
||||||
|
@ -5871,7 +5868,6 @@ int __init sbpcd_init(void)
|
||||||
disk->fops = &sbpcd_bdops;
|
disk->fops = &sbpcd_bdops;
|
||||||
strcpy(disk->disk_name, sbpcd_infop->name);
|
strcpy(disk->disk_name, sbpcd_infop->name);
|
||||||
disk->flags = GENHD_FL_CD;
|
disk->flags = GENHD_FL_CD;
|
||||||
sprintf(disk->devfs_name, "sbp/c0t%d", p->drv_id);
|
|
||||||
p->disk = disk;
|
p->disk = disk;
|
||||||
if (register_cdrom(sbpcd_infop))
|
if (register_cdrom(sbpcd_infop))
|
||||||
{
|
{
|
||||||
|
@ -5906,7 +5902,6 @@ static void sbpcd_exit(void)
|
||||||
if (D_S[j].drv_id==-1) continue;
|
if (D_S[j].drv_id==-1) continue;
|
||||||
del_gendisk(D_S[j].disk);
|
del_gendisk(D_S[j].disk);
|
||||||
put_disk(D_S[j].disk);
|
put_disk(D_S[j].disk);
|
||||||
devfs_remove("sbp/c0t%d", j);
|
|
||||||
vfree(D_S[j].sbp_buf);
|
vfree(D_S[j].sbp_buf);
|
||||||
if (D_S[j].sbp_audsiz>0)
|
if (D_S[j].sbp_audsiz>0)
|
||||||
vfree(D_S[j].aud_buf);
|
vfree(D_S[j].aud_buf);
|
||||||
|
@ -5917,7 +5912,6 @@ static void sbpcd_exit(void)
|
||||||
}
|
}
|
||||||
vfree(D_S[j].sbpcd_infop);
|
vfree(D_S[j].sbpcd_infop);
|
||||||
}
|
}
|
||||||
devfs_remove("sbp");
|
|
||||||
msg(DBG_INF, "%s module released.\n", major_name);
|
msg(DBG_INF, "%s module released.\n", major_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1695,7 +1695,6 @@ static int __init sjcd_init(void)
|
||||||
sjcd_disk->first_minor = 0,
|
sjcd_disk->first_minor = 0,
|
||||||
sjcd_disk->fops = &sjcd_fops,
|
sjcd_disk->fops = &sjcd_fops,
|
||||||
sprintf(sjcd_disk->disk_name, "sjcd");
|
sprintf(sjcd_disk->disk_name, "sjcd");
|
||||||
sprintf(sjcd_disk->devfs_name, "sjcd");
|
|
||||||
|
|
||||||
if (!request_region(sjcd_base, 4,"sjcd")) {
|
if (!request_region(sjcd_base, 4,"sjcd")) {
|
||||||
printk
|
printk
|
||||||
|
|
|
@ -1589,7 +1589,6 @@ static int __init sony535_init(void)
|
||||||
cdu_disk->first_minor = 0;
|
cdu_disk->first_minor = 0;
|
||||||
cdu_disk->fops = &cdu_fops;
|
cdu_disk->fops = &cdu_fops;
|
||||||
sprintf(cdu_disk->disk_name, "cdu");
|
sprintf(cdu_disk->disk_name, "cdu");
|
||||||
sprintf(cdu_disk->devfs_name, "cdu535");
|
|
||||||
|
|
||||||
if (!request_region(sony535_cd_base_io, 4, CDU535_HANDLE)) {
|
if (!request_region(sony535_cd_base_io, 4, CDU535_HANDLE)) {
|
||||||
printk(KERN_WARNING"sonycd535: Unable to request region 0x%x\n",
|
printk(KERN_WARNING"sonycd535: Unable to request region 0x%x\n",
|
||||||
|
|
|
@ -49,7 +49,6 @@
|
||||||
#include <asm/iseries/vio.h>
|
#include <asm/iseries/vio.h>
|
||||||
|
|
||||||
#define VIOCD_DEVICE "iseries/vcd"
|
#define VIOCD_DEVICE "iseries/vcd"
|
||||||
#define VIOCD_DEVICE_DEVFS "iseries/vcd"
|
|
||||||
|
|
||||||
#define VIOCD_VERS "1.06"
|
#define VIOCD_VERS "1.06"
|
||||||
|
|
||||||
|
@ -688,8 +687,6 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id)
|
||||||
gendisk->first_minor = deviceno;
|
gendisk->first_minor = deviceno;
|
||||||
strncpy(gendisk->disk_name, c->name,
|
strncpy(gendisk->disk_name, c->name,
|
||||||
sizeof(gendisk->disk_name));
|
sizeof(gendisk->disk_name));
|
||||||
snprintf(gendisk->devfs_name, sizeof(gendisk->devfs_name),
|
|
||||||
VIOCD_DEVICE_DEVFS "%d", deviceno);
|
|
||||||
blk_queue_max_hw_segments(q, 1);
|
blk_queue_max_hw_segments(q, 1);
|
||||||
blk_queue_max_phys_segments(q, 1);
|
blk_queue_max_phys_segments(q, 1);
|
||||||
blk_queue_max_sectors(q, 4096 / 512);
|
blk_queue_max_sectors(q, 4096 / 512);
|
||||||
|
|
|
@ -5250,7 +5250,6 @@ cy_init(void)
|
||||||
cy_serial_driver->owner = THIS_MODULE;
|
cy_serial_driver->owner = THIS_MODULE;
|
||||||
cy_serial_driver->driver_name = "cyclades";
|
cy_serial_driver->driver_name = "cyclades";
|
||||||
cy_serial_driver->name = "ttyC";
|
cy_serial_driver->name = "ttyC";
|
||||||
cy_serial_driver->devfs_name = "tts/C";
|
|
||||||
cy_serial_driver->major = CYCLADES_MAJOR;
|
cy_serial_driver->major = CYCLADES_MAJOR;
|
||||||
cy_serial_driver->minor_start = 0;
|
cy_serial_driver->minor_start = 0;
|
||||||
cy_serial_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
cy_serial_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
|
||||||
|
@ -518,17 +517,9 @@ static int __init dsp56k_init_driver(void)
|
||||||
}
|
}
|
||||||
class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k");
|
class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k");
|
||||||
|
|
||||||
err = devfs_mk_cdev(MKDEV(DSP56K_MAJOR, 0),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR, "dsp56k");
|
|
||||||
if(err)
|
|
||||||
goto out_class;
|
|
||||||
|
|
||||||
printk(banner);
|
printk(banner);
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
out_class:
|
|
||||||
class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
|
|
||||||
class_destroy(dsp56k_class);
|
|
||||||
out_chrdev:
|
out_chrdev:
|
||||||
unregister_chrdev(DSP56K_MAJOR, "dsp56k");
|
unregister_chrdev(DSP56K_MAJOR, "dsp56k");
|
||||||
out:
|
out:
|
||||||
|
@ -541,7 +532,6 @@ static void __exit dsp56k_cleanup_driver(void)
|
||||||
class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
|
class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
|
||||||
class_destroy(dsp56k_class);
|
class_destroy(dsp56k_class);
|
||||||
unregister_chrdev(DSP56K_MAJOR, "dsp56k");
|
unregister_chrdev(DSP56K_MAJOR, "dsp56k");
|
||||||
devfs_remove("dsp56k");
|
|
||||||
}
|
}
|
||||||
module_exit(dsp56k_cleanup_driver);
|
module_exit(dsp56k_cleanup_driver);
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,6 @@
|
||||||
#include <linux/init.h> /* for __init, module_{init,exit} */
|
#include <linux/init.h> /* for __init, module_{init,exit} */
|
||||||
#include <linux/poll.h> /* for POLLIN, etc. */
|
#include <linux/poll.h> /* for POLLIN, etc. */
|
||||||
#include <linux/dtlk.h> /* local header file for DoubleTalk values */
|
#include <linux/dtlk.h> /* local header file for DoubleTalk values */
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
|
|
||||||
#ifdef TRACING
|
#ifdef TRACING
|
||||||
|
@ -337,9 +336,6 @@ static int __init dtlk_init(void)
|
||||||
if (dtlk_dev_probe() == 0)
|
if (dtlk_dev_probe() == 0)
|
||||||
printk(", MAJOR %d\n", dtlk_major);
|
printk(", MAJOR %d\n", dtlk_major);
|
||||||
|
|
||||||
devfs_mk_cdev(MKDEV(dtlk_major, DTLK_MINOR),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR, "dtlk");
|
|
||||||
|
|
||||||
init_timer(&dtlk_timer);
|
init_timer(&dtlk_timer);
|
||||||
dtlk_timer.function = dtlk_timer_tick;
|
dtlk_timer.function = dtlk_timer_tick;
|
||||||
init_waitqueue_head(&dtlk_process_list);
|
init_waitqueue_head(&dtlk_process_list);
|
||||||
|
@ -357,7 +353,6 @@ static void __exit dtlk_cleanup (void)
|
||||||
|
|
||||||
dtlk_write_tts(DTLK_CLEAR);
|
dtlk_write_tts(DTLK_CLEAR);
|
||||||
unregister_chrdev(dtlk_major, "dtlk");
|
unregister_chrdev(dtlk_major, "dtlk");
|
||||||
devfs_remove("dtlk");
|
|
||||||
release_region(dtlk_port_lpc, DTLK_IO_EXTENT);
|
release_region(dtlk_port_lpc, DTLK_IO_EXTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1232,7 +1232,6 @@ static int __init pc_init(void)
|
||||||
|
|
||||||
pc_driver->owner = THIS_MODULE;
|
pc_driver->owner = THIS_MODULE;
|
||||||
pc_driver->name = "ttyD";
|
pc_driver->name = "ttyD";
|
||||||
pc_driver->devfs_name = "tts/D";
|
|
||||||
pc_driver->major = DIGI_MAJOR;
|
pc_driver->major = DIGI_MAJOR;
|
||||||
pc_driver->minor_start = 0;
|
pc_driver->minor_start = 0;
|
||||||
pc_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
pc_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -2449,7 +2449,6 @@ static int __init espserial_init(void)
|
||||||
|
|
||||||
esp_driver->owner = THIS_MODULE;
|
esp_driver->owner = THIS_MODULE;
|
||||||
esp_driver->name = "ttyP";
|
esp_driver->name = "ttyP";
|
||||||
esp_driver->devfs_name = "tts/P";
|
|
||||||
esp_driver->major = ESP_IN_MAJOR;
|
esp_driver->major = ESP_IN_MAJOR;
|
||||||
esp_driver->minor_start = 0;
|
esp_driver->minor_start = 0;
|
||||||
esp_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
esp_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#endif
|
#endif
|
||||||
#include <linux/fcntl.h>
|
#include <linux/fcntl.h>
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
|
|
||||||
#include <linux/zftape.h>
|
#include <linux/zftape.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -332,29 +331,11 @@ KERN_INFO
|
||||||
zft_class = class_create(THIS_MODULE, "zft");
|
zft_class = class_create(THIS_MODULE, "zft");
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i);
|
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i);
|
||||||
devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"qft%i", i);
|
|
||||||
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i);
|
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i);
|
||||||
devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 4),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"nqft%i", i);
|
|
||||||
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i);
|
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i);
|
||||||
devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 16),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"zqft%i", i);
|
|
||||||
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i);
|
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i);
|
||||||
devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 20),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"nzqft%i", i);
|
|
||||||
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i);
|
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i);
|
||||||
devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 32),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"rawqft%i", i);
|
|
||||||
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i);
|
class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i);
|
||||||
devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 36),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"nrawqft%i", i);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ZFT_COMPRESSOR
|
#ifdef CONFIG_ZFT_COMPRESSOR
|
||||||
|
@ -380,17 +361,11 @@ static void zft_exit(void)
|
||||||
TRACE(ft_t_info, "successful");
|
TRACE(ft_t_info, "successful");
|
||||||
}
|
}
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
devfs_remove("qft%i", i);
|
|
||||||
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i));
|
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i));
|
||||||
devfs_remove("nqft%i", i);
|
|
||||||
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4));
|
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4));
|
||||||
devfs_remove("zqft%i", i);
|
|
||||||
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16));
|
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16));
|
||||||
devfs_remove("nzqft%i", i);
|
|
||||||
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20));
|
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20));
|
||||||
devfs_remove("rawqft%i", i);
|
|
||||||
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32));
|
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32));
|
||||||
devfs_remove("nrawqft%i", i);
|
|
||||||
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36));
|
class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36));
|
||||||
}
|
}
|
||||||
class_destroy(zft_class);
|
class_destroy(zft_class);
|
||||||
|
|
|
@ -820,7 +820,6 @@ int __init hvc_init(void)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
drv->owner = THIS_MODULE;
|
drv->owner = THIS_MODULE;
|
||||||
drv->devfs_name = "hvc/";
|
|
||||||
drv->driver_name = "hvc";
|
drv->driver_name = "hvc";
|
||||||
drv->name = "hvc";
|
drv->name = "hvc";
|
||||||
drv->major = HVC_MAJOR;
|
drv->major = HVC_MAJOR;
|
||||||
|
|
|
@ -1363,7 +1363,6 @@ static int __init hvcs_module_init(void)
|
||||||
|
|
||||||
hvcs_tty_driver->driver_name = hvcs_driver_name;
|
hvcs_tty_driver->driver_name = hvcs_driver_name;
|
||||||
hvcs_tty_driver->name = hvcs_device_node;
|
hvcs_tty_driver->name = hvcs_device_node;
|
||||||
hvcs_tty_driver->devfs_name = hvcs_device_node;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We'll let the system assign us a major number, indicated by leaving
|
* We'll let the system assign us a major number, indicated by leaving
|
||||||
|
|
|
@ -1154,7 +1154,6 @@ static int __init hvsi_init(void)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
hvsi_driver->owner = THIS_MODULE;
|
hvsi_driver->owner = THIS_MODULE;
|
||||||
hvsi_driver->devfs_name = "hvsi/";
|
|
||||||
hvsi_driver->driver_name = "hvsi";
|
hvsi_driver->driver_name = "hvsi";
|
||||||
hvsi_driver->name = "hvsi";
|
hvsi_driver->name = "hvsi";
|
||||||
hvsi_driver->major = HVSI_MAJOR;
|
hvsi_driver->major = HVSI_MAJOR;
|
||||||
|
|
|
@ -91,7 +91,6 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/signal.h>
|
#include <linux/signal.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
@ -414,9 +413,7 @@ cleanup_module(void)
|
||||||
/* free io addresses and Tibet */
|
/* free io addresses and Tibet */
|
||||||
release_region( ip2config.addr[i], 8 );
|
release_region( ip2config.addr[i], 8 );
|
||||||
class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i));
|
class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i));
|
||||||
devfs_remove("ip2/ipl%d", i);
|
|
||||||
class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
|
class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
|
||||||
devfs_remove("ip2/stat%d", i);
|
|
||||||
}
|
}
|
||||||
/* Disable and remove interrupt handler. */
|
/* Disable and remove interrupt handler. */
|
||||||
if ( (ip2config.irq[i] > 0) && have_requested_irq(ip2config.irq[i]) ) {
|
if ( (ip2config.irq[i] > 0) && have_requested_irq(ip2config.irq[i]) ) {
|
||||||
|
@ -425,7 +422,6 @@ cleanup_module(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class_destroy(ip2_class);
|
class_destroy(ip2_class);
|
||||||
devfs_remove("ip2");
|
|
||||||
if ( ( err = tty_unregister_driver ( ip2_tty_driver ) ) ) {
|
if ( ( err = tty_unregister_driver ( ip2_tty_driver ) ) ) {
|
||||||
printk(KERN_ERR "IP2: failed to unregister tty driver (%d)\n", err);
|
printk(KERN_ERR "IP2: failed to unregister tty driver (%d)\n", err);
|
||||||
}
|
}
|
||||||
|
@ -675,7 +671,6 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
|
||||||
|
|
||||||
ip2_tty_driver->owner = THIS_MODULE;
|
ip2_tty_driver->owner = THIS_MODULE;
|
||||||
ip2_tty_driver->name = "ttyF";
|
ip2_tty_driver->name = "ttyF";
|
||||||
ip2_tty_driver->devfs_name = "tts/F";
|
|
||||||
ip2_tty_driver->driver_name = pcDriver_name;
|
ip2_tty_driver->driver_name = pcDriver_name;
|
||||||
ip2_tty_driver->major = IP2_TTY_MAJOR;
|
ip2_tty_driver->major = IP2_TTY_MAJOR;
|
||||||
ip2_tty_driver->minor_start = 0;
|
ip2_tty_driver->minor_start = 0;
|
||||||
|
@ -683,7 +678,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
|
||||||
ip2_tty_driver->subtype = SERIAL_TYPE_NORMAL;
|
ip2_tty_driver->subtype = SERIAL_TYPE_NORMAL;
|
||||||
ip2_tty_driver->init_termios = tty_std_termios;
|
ip2_tty_driver->init_termios = tty_std_termios;
|
||||||
ip2_tty_driver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL;
|
ip2_tty_driver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL;
|
||||||
ip2_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS;
|
ip2_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
|
||||||
tty_set_operations(ip2_tty_driver, &ip2_ops);
|
tty_set_operations(ip2_tty_driver, &ip2_ops);
|
||||||
|
|
||||||
ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 );
|
ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 );
|
||||||
|
@ -724,26 +719,9 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
|
||||||
class_device_create(ip2_class, NULL,
|
class_device_create(ip2_class, NULL,
|
||||||
MKDEV(IP2_IPL_MAJOR, 4 * i),
|
MKDEV(IP2_IPL_MAJOR, 4 * i),
|
||||||
NULL, "ipl%d", i);
|
NULL, "ipl%d", i);
|
||||||
err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i),
|
|
||||||
S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
|
|
||||||
"ip2/ipl%d", i);
|
|
||||||
if (err) {
|
|
||||||
class_device_destroy(ip2_class,
|
|
||||||
MKDEV(IP2_IPL_MAJOR, 4 * i));
|
|
||||||
goto out_class;
|
|
||||||
}
|
|
||||||
|
|
||||||
class_device_create(ip2_class, NULL,
|
class_device_create(ip2_class, NULL,
|
||||||
MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
|
MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
|
||||||
NULL, "stat%d", i);
|
NULL, "stat%d", i);
|
||||||
err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
|
|
||||||
S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
|
|
||||||
"ip2/stat%d", i);
|
|
||||||
if (err) {
|
|
||||||
class_device_destroy(ip2_class,
|
|
||||||
MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
|
|
||||||
goto out_class;
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( box = 0; box < ABS_MAX_BOXES; ++box )
|
for ( box = 0; box < ABS_MAX_BOXES; ++box )
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <linux/poll.h>
|
#include <linux/poll.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/ipmi.h>
|
#include <linux/ipmi.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -804,9 +803,6 @@ static void ipmi_new_smi(int if_num, struct device *device)
|
||||||
dev_t dev = MKDEV(ipmi_major, if_num);
|
dev_t dev = MKDEV(ipmi_major, if_num);
|
||||||
struct ipmi_reg_list *entry;
|
struct ipmi_reg_list *entry;
|
||||||
|
|
||||||
devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"ipmidev/%d", if_num);
|
|
||||||
|
|
||||||
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
|
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
|
||||||
if (!entry) {
|
if (!entry) {
|
||||||
printk(KERN_ERR "ipmi_devintf: Unable to create the"
|
printk(KERN_ERR "ipmi_devintf: Unable to create the"
|
||||||
|
@ -836,7 +832,6 @@ static void ipmi_smi_gone(int if_num)
|
||||||
}
|
}
|
||||||
class_device_destroy(ipmi_class, dev);
|
class_device_destroy(ipmi_class, dev);
|
||||||
mutex_unlock(®_list_mutex);
|
mutex_unlock(®_list_mutex);
|
||||||
devfs_remove("ipmidev/%d", if_num);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ipmi_smi_watcher smi_watcher =
|
static struct ipmi_smi_watcher smi_watcher =
|
||||||
|
@ -872,8 +867,6 @@ static __init int init_ipmi_devintf(void)
|
||||||
ipmi_major = rv;
|
ipmi_major = rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir(DEVICE_NAME);
|
|
||||||
|
|
||||||
rv = ipmi_smi_watcher_register(&smi_watcher);
|
rv = ipmi_smi_watcher_register(&smi_watcher);
|
||||||
if (rv) {
|
if (rv) {
|
||||||
unregister_chrdev(ipmi_major, DEVICE_NAME);
|
unregister_chrdev(ipmi_major, DEVICE_NAME);
|
||||||
|
@ -898,7 +891,6 @@ static __exit void cleanup_ipmi(void)
|
||||||
mutex_unlock(®_list_mutex);
|
mutex_unlock(®_list_mutex);
|
||||||
class_destroy(ipmi_class);
|
class_destroy(ipmi_class);
|
||||||
ipmi_smi_watcher_unregister(&smi_watcher);
|
ipmi_smi_watcher_unregister(&smi_watcher);
|
||||||
devfs_remove(DEVICE_NAME);
|
|
||||||
unregister_chrdev(ipmi_major, DEVICE_NAME);
|
unregister_chrdev(ipmi_major, DEVICE_NAME);
|
||||||
}
|
}
|
||||||
module_exit(cleanup_ipmi);
|
module_exit(cleanup_ipmi);
|
||||||
|
|
|
@ -1581,7 +1581,6 @@ static int __devinit isicom_register_tty_driver(void)
|
||||||
|
|
||||||
isicom_normal->owner = THIS_MODULE;
|
isicom_normal->owner = THIS_MODULE;
|
||||||
isicom_normal->name = "ttyM";
|
isicom_normal->name = "ttyM";
|
||||||
isicom_normal->devfs_name = "isicom/";
|
|
||||||
isicom_normal->major = ISICOM_NMAJOR;
|
isicom_normal->major = ISICOM_NMAJOR;
|
||||||
isicom_normal->minor_start = 0;
|
isicom_normal->minor_start = 0;
|
||||||
isicom_normal->type = TTY_DRIVER_TYPE_SERIAL;
|
isicom_normal->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
#include <linux/eisa.h>
|
#include <linux/eisa.h>
|
||||||
|
@ -826,11 +825,8 @@ static void __exit istallion_module_exit(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
put_tty_driver(stli_serial);
|
put_tty_driver(stli_serial);
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++)
|
||||||
devfs_remove("staliomem/%d", i);
|
|
||||||
class_device_destroy(istallion_class, MKDEV(STL_SIOMEMMAJOR, i));
|
class_device_destroy(istallion_class, MKDEV(STL_SIOMEMMAJOR, i));
|
||||||
}
|
|
||||||
devfs_remove("staliomem");
|
|
||||||
class_destroy(istallion_class);
|
class_destroy(istallion_class);
|
||||||
if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
|
if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
|
||||||
printk("STALLION: failed to un-register serial memory device, "
|
printk("STALLION: failed to un-register serial memory device, "
|
||||||
|
@ -4728,16 +4724,11 @@ int __init stli_init(void)
|
||||||
printk(KERN_ERR "STALLION: failed to register serial memory "
|
printk(KERN_ERR "STALLION: failed to register serial memory "
|
||||||
"device\n");
|
"device\n");
|
||||||
|
|
||||||
devfs_mk_dir("staliomem");
|
|
||||||
istallion_class = class_create(THIS_MODULE, "staliomem");
|
istallion_class = class_create(THIS_MODULE, "staliomem");
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++)
|
||||||
devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"staliomem/%d", i);
|
|
||||||
class_device_create(istallion_class, NULL,
|
class_device_create(istallion_class, NULL,
|
||||||
MKDEV(STL_SIOMEMMAJOR, i),
|
MKDEV(STL_SIOMEMMAJOR, i),
|
||||||
NULL, "staliomem%d", i);
|
NULL, "staliomem%d", i);
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up the tty driver structure and register us as a driver.
|
* Set up the tty driver structure and register us as a driver.
|
||||||
|
|
|
@ -120,7 +120,6 @@
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/fcntl.h>
|
#include <linux/fcntl.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
@ -807,8 +806,6 @@ static int lp_register(int nr, struct parport *port)
|
||||||
|
|
||||||
class_device_create(lp_class, NULL, MKDEV(LP_MAJOR, nr), NULL,
|
class_device_create(lp_class, NULL, MKDEV(LP_MAJOR, nr), NULL,
|
||||||
"lp%d", nr);
|
"lp%d", nr);
|
||||||
devfs_mk_cdev(MKDEV(LP_MAJOR, nr), S_IFCHR | S_IRUGO | S_IWUGO,
|
|
||||||
"printers/%d", nr);
|
|
||||||
|
|
||||||
printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name,
|
printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name,
|
||||||
(port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven");
|
(port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven");
|
||||||
|
@ -907,7 +904,6 @@ static int __init lp_init (void)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_dir("printers");
|
|
||||||
lp_class = class_create(THIS_MODULE, "printer");
|
lp_class = class_create(THIS_MODULE, "printer");
|
||||||
if (IS_ERR(lp_class)) {
|
if (IS_ERR(lp_class)) {
|
||||||
err = PTR_ERR(lp_class);
|
err = PTR_ERR(lp_class);
|
||||||
|
@ -933,7 +929,6 @@ static int __init lp_init (void)
|
||||||
out_class:
|
out_class:
|
||||||
class_destroy(lp_class);
|
class_destroy(lp_class);
|
||||||
out_devfs:
|
out_devfs:
|
||||||
devfs_remove("printers");
|
|
||||||
unregister_chrdev(LP_MAJOR, "lp");
|
unregister_chrdev(LP_MAJOR, "lp");
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -981,10 +976,8 @@ static void lp_cleanup_module (void)
|
||||||
if (lp_table[offset].dev == NULL)
|
if (lp_table[offset].dev == NULL)
|
||||||
continue;
|
continue;
|
||||||
parport_unregister_device(lp_table[offset].dev);
|
parport_unregister_device(lp_table[offset].dev);
|
||||||
devfs_remove("printers/%d", offset);
|
|
||||||
class_device_destroy(lp_class, MKDEV(LP_MAJOR, offset));
|
class_device_destroy(lp_class, MKDEV(LP_MAJOR, offset));
|
||||||
}
|
}
|
||||||
devfs_remove("printers");
|
|
||||||
class_destroy(lp_class);
|
class_destroy(lp_class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
#include <linux/tty.h>
|
#include <linux/tty.h>
|
||||||
#include <linux/capability.h>
|
#include <linux/capability.h>
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/ptrace.h>
|
#include <linux/ptrace.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/highmem.h>
|
#include <linux/highmem.h>
|
||||||
|
@ -941,13 +940,10 @@ static int __init chr_dev_init(void)
|
||||||
printk("unable to get major %d for memory devs\n", MEM_MAJOR);
|
printk("unable to get major %d for memory devs\n", MEM_MAJOR);
|
||||||
|
|
||||||
mem_class = class_create(THIS_MODULE, "mem");
|
mem_class = class_create(THIS_MODULE, "mem");
|
||||||
for (i = 0; i < ARRAY_SIZE(devlist); i++) {
|
for (i = 0; i < ARRAY_SIZE(devlist); i++)
|
||||||
class_device_create(mem_class, NULL,
|
class_device_create(mem_class, NULL,
|
||||||
MKDEV(MEM_MAJOR, devlist[i].minor),
|
MKDEV(MEM_MAJOR, devlist[i].minor),
|
||||||
NULL, devlist[i].name);
|
NULL, devlist[i].name);
|
||||||
devfs_mk_cdev(MKDEV(MEM_MAJOR, devlist[i].minor),
|
|
||||||
S_IFCHR | devlist[i].mode, devlist[i].name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,6 @@
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/stat.h>
|
#include <linux/stat.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -204,7 +203,7 @@ int misc_register(struct miscdevice * misc)
|
||||||
{
|
{
|
||||||
struct miscdevice *c;
|
struct miscdevice *c;
|
||||||
dev_t dev;
|
dev_t dev;
|
||||||
int err;
|
int err = 0;
|
||||||
|
|
||||||
down(&misc_sem);
|
down(&misc_sem);
|
||||||
list_for_each_entry(c, &misc_list, list) {
|
list_for_each_entry(c, &misc_list, list) {
|
||||||
|
@ -228,10 +227,6 @@ int misc_register(struct miscdevice * misc)
|
||||||
|
|
||||||
if (misc->minor < DYNAMIC_MINORS)
|
if (misc->minor < DYNAMIC_MINORS)
|
||||||
misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7);
|
misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7);
|
||||||
if (misc->devfs_name[0] == '\0') {
|
|
||||||
snprintf(misc->devfs_name, sizeof(misc->devfs_name),
|
|
||||||
"misc/%s", misc->name);
|
|
||||||
}
|
|
||||||
dev = MKDEV(MISC_MAJOR, misc->minor);
|
dev = MKDEV(MISC_MAJOR, misc->minor);
|
||||||
|
|
||||||
misc->class = class_device_create(misc_class, NULL, dev, misc->dev,
|
misc->class = class_device_create(misc_class, NULL, dev, misc->dev,
|
||||||
|
@ -241,13 +236,6 @@ int misc_register(struct miscdevice * misc)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = devfs_mk_cdev(dev, S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP,
|
|
||||||
misc->devfs_name);
|
|
||||||
if (err) {
|
|
||||||
class_device_destroy(misc_class, dev);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add it to the front, so that later devices can "override"
|
* Add it to the front, so that later devices can "override"
|
||||||
* earlier defaults
|
* earlier defaults
|
||||||
|
@ -278,7 +266,6 @@ int misc_deregister(struct miscdevice * misc)
|
||||||
down(&misc_sem);
|
down(&misc_sem);
|
||||||
list_del(&misc->list);
|
list_del(&misc->list);
|
||||||
class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor));
|
class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor));
|
||||||
devfs_remove(misc->devfs_name);
|
|
||||||
if (i < DYNAMIC_MINORS && i>0) {
|
if (i < DYNAMIC_MINORS && i>0) {
|
||||||
misc_minors[i>>3] &= ~(1 << (misc->minor & 7));
|
misc_minors[i>>3] &= ~(1 << (misc->minor & 7));
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/mmtimer.h>
|
#include <linux/mmtimer.h>
|
||||||
#include <linux/miscdevice.h>
|
#include <linux/miscdevice.h>
|
||||||
#include <linux/posix-timers.h>
|
#include <linux/posix-timers.h>
|
||||||
|
@ -694,7 +693,6 @@ static int __init mmtimer_init(void)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(mmtimer_miscdev.devfs_name, MMTIMER_NAME);
|
|
||||||
if (misc_register(&mmtimer_miscdev)) {
|
if (misc_register(&mmtimer_miscdev)) {
|
||||||
printk(KERN_ERR "%s: failed to register device\n",
|
printk(KERN_ERR "%s: failed to register device\n",
|
||||||
MMTIMER_NAME);
|
MMTIMER_NAME);
|
||||||
|
|
|
@ -342,7 +342,6 @@ static int __init moxa_init(void)
|
||||||
init_MUTEX(&moxaBuffSem);
|
init_MUTEX(&moxaBuffSem);
|
||||||
moxaDriver->owner = THIS_MODULE;
|
moxaDriver->owner = THIS_MODULE;
|
||||||
moxaDriver->name = "ttyMX";
|
moxaDriver->name = "ttyMX";
|
||||||
moxaDriver->devfs_name = "tts/a";
|
|
||||||
moxaDriver->major = ttymajor;
|
moxaDriver->major = ttymajor;
|
||||||
moxaDriver->minor_start = 0;
|
moxaDriver->minor_start = 0;
|
||||||
moxaDriver->type = TTY_DRIVER_TYPE_SERIAL;
|
moxaDriver->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -60,7 +60,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/ioctl.h>
|
#include <linux/ioctl.h>
|
||||||
#include <linux/parport.h>
|
#include <linux/parport.h>
|
||||||
#include <linux/ctype.h>
|
#include <linux/ctype.h>
|
||||||
|
@ -770,7 +769,7 @@ static struct parport_driver pp_driver = {
|
||||||
|
|
||||||
static int __init ppdev_init (void)
|
static int __init ppdev_init (void)
|
||||||
{
|
{
|
||||||
int i, err = 0;
|
int err = 0;
|
||||||
|
|
||||||
if (register_chrdev (PP_MAJOR, CHRDEV, &pp_fops)) {
|
if (register_chrdev (PP_MAJOR, CHRDEV, &pp_fops)) {
|
||||||
printk (KERN_WARNING CHRDEV ": unable to get major %d\n",
|
printk (KERN_WARNING CHRDEV ": unable to get major %d\n",
|
||||||
|
@ -782,11 +781,6 @@ static int __init ppdev_init (void)
|
||||||
err = PTR_ERR(ppdev_class);
|
err = PTR_ERR(ppdev_class);
|
||||||
goto out_chrdev;
|
goto out_chrdev;
|
||||||
}
|
}
|
||||||
devfs_mk_dir("parports");
|
|
||||||
for (i = 0; i < PARPORT_MAX; i++) {
|
|
||||||
devfs_mk_cdev(MKDEV(PP_MAJOR, i),
|
|
||||||
S_IFCHR | S_IRUGO | S_IWUGO, "parports/%d", i);
|
|
||||||
}
|
|
||||||
if (parport_register_driver(&pp_driver)) {
|
if (parport_register_driver(&pp_driver)) {
|
||||||
printk (KERN_WARNING CHRDEV ": unable to register with parport\n");
|
printk (KERN_WARNING CHRDEV ": unable to register with parport\n");
|
||||||
goto out_class;
|
goto out_class;
|
||||||
|
@ -796,9 +790,6 @@ static int __init ppdev_init (void)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
out_class:
|
out_class:
|
||||||
for (i = 0; i < PARPORT_MAX; i++)
|
|
||||||
devfs_remove("parports/%d", i);
|
|
||||||
devfs_remove("parports");
|
|
||||||
class_destroy(ppdev_class);
|
class_destroy(ppdev_class);
|
||||||
out_chrdev:
|
out_chrdev:
|
||||||
unregister_chrdev(PP_MAJOR, CHRDEV);
|
unregister_chrdev(PP_MAJOR, CHRDEV);
|
||||||
|
@ -808,12 +799,8 @@ out:
|
||||||
|
|
||||||
static void __exit ppdev_cleanup (void)
|
static void __exit ppdev_cleanup (void)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
/* Clean up all parport stuff */
|
/* Clean up all parport stuff */
|
||||||
for (i = 0; i < PARPORT_MAX; i++)
|
|
||||||
devfs_remove("parports/%d", i);
|
|
||||||
parport_unregister_driver(&pp_driver);
|
parport_unregister_driver(&pp_driver);
|
||||||
devfs_remove("parports");
|
|
||||||
class_destroy(ppdev_class);
|
class_destroy(ppdev_class);
|
||||||
unregister_chrdev (PP_MAJOR, CHRDEV);
|
unregister_chrdev (PP_MAJOR, CHRDEV);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/sysctl.h>
|
#include <linux/sysctl.h>
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
|
@ -265,7 +264,6 @@ static void __init legacy_pty_init(void)
|
||||||
pty_driver->owner = THIS_MODULE;
|
pty_driver->owner = THIS_MODULE;
|
||||||
pty_driver->driver_name = "pty_master";
|
pty_driver->driver_name = "pty_master";
|
||||||
pty_driver->name = "pty";
|
pty_driver->name = "pty";
|
||||||
pty_driver->devfs_name = "pty/m";
|
|
||||||
pty_driver->major = PTY_MASTER_MAJOR;
|
pty_driver->major = PTY_MASTER_MAJOR;
|
||||||
pty_driver->minor_start = 0;
|
pty_driver->minor_start = 0;
|
||||||
pty_driver->type = TTY_DRIVER_TYPE_PTY;
|
pty_driver->type = TTY_DRIVER_TYPE_PTY;
|
||||||
|
@ -283,7 +281,6 @@ static void __init legacy_pty_init(void)
|
||||||
pty_slave_driver->owner = THIS_MODULE;
|
pty_slave_driver->owner = THIS_MODULE;
|
||||||
pty_slave_driver->driver_name = "pty_slave";
|
pty_slave_driver->driver_name = "pty_slave";
|
||||||
pty_slave_driver->name = "ttyp";
|
pty_slave_driver->name = "ttyp";
|
||||||
pty_slave_driver->devfs_name = "pty/s";
|
|
||||||
pty_slave_driver->major = PTY_SLAVE_MAJOR;
|
pty_slave_driver->major = PTY_SLAVE_MAJOR;
|
||||||
pty_slave_driver->minor_start = 0;
|
pty_slave_driver->minor_start = 0;
|
||||||
pty_slave_driver->type = TTY_DRIVER_TYPE_PTY;
|
pty_slave_driver->type = TTY_DRIVER_TYPE_PTY;
|
||||||
|
@ -351,7 +348,6 @@ static int pty_unix98_ioctl(struct tty_struct *tty, struct file *file,
|
||||||
|
|
||||||
static void __init unix98_pty_init(void)
|
static void __init unix98_pty_init(void)
|
||||||
{
|
{
|
||||||
devfs_mk_dir("pts");
|
|
||||||
ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX);
|
ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX);
|
||||||
if (!ptm_driver)
|
if (!ptm_driver)
|
||||||
panic("Couldn't allocate Unix98 ptm driver");
|
panic("Couldn't allocate Unix98 ptm driver");
|
||||||
|
@ -372,7 +368,7 @@ static void __init unix98_pty_init(void)
|
||||||
ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
|
ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
|
||||||
ptm_driver->init_termios.c_lflag = 0;
|
ptm_driver->init_termios.c_lflag = 0;
|
||||||
ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
|
ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
|
||||||
TTY_DRIVER_NO_DEVFS | TTY_DRIVER_DEVPTS_MEM;
|
TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM;
|
||||||
ptm_driver->other = pts_driver;
|
ptm_driver->other = pts_driver;
|
||||||
tty_set_operations(ptm_driver, &pty_ops);
|
tty_set_operations(ptm_driver, &pty_ops);
|
||||||
ptm_driver->ioctl = pty_unix98_ioctl;
|
ptm_driver->ioctl = pty_unix98_ioctl;
|
||||||
|
@ -387,7 +383,7 @@ static void __init unix98_pty_init(void)
|
||||||
pts_driver->init_termios = tty_std_termios;
|
pts_driver->init_termios = tty_std_termios;
|
||||||
pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
|
pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
|
||||||
pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
|
pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
|
||||||
TTY_DRIVER_NO_DEVFS | TTY_DRIVER_DEVPTS_MEM;
|
TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM;
|
||||||
pts_driver->other = ptm_driver;
|
pts_driver->other = ptm_driver;
|
||||||
tty_set_operations(pts_driver, &pty_ops);
|
tty_set_operations(pts_driver, &pty_ops);
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -288,7 +287,6 @@ static struct cdev raw_cdev = {
|
||||||
|
|
||||||
static int __init raw_init(void)
|
static int __init raw_init(void)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
dev_t dev = MKDEV(RAW_MAJOR, 0);
|
dev_t dev = MKDEV(RAW_MAJOR, 0);
|
||||||
|
|
||||||
if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw"))
|
if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw"))
|
||||||
|
@ -310,13 +308,6 @@ static int __init raw_init(void)
|
||||||
}
|
}
|
||||||
class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl");
|
class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl");
|
||||||
|
|
||||||
devfs_mk_cdev(MKDEV(RAW_MAJOR, 0),
|
|
||||||
S_IFCHR | S_IRUGO | S_IWUGO,
|
|
||||||
"raw/rawctl");
|
|
||||||
for (i = 1; i < MAX_RAW_MINORS; i++)
|
|
||||||
devfs_mk_cdev(MKDEV(RAW_MAJOR, i),
|
|
||||||
S_IFCHR | S_IRUGO | S_IWUGO,
|
|
||||||
"raw/raw%d", i);
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -326,12 +317,6 @@ error:
|
||||||
|
|
||||||
static void __exit raw_exit(void)
|
static void __exit raw_exit(void)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 1; i < MAX_RAW_MINORS; i++)
|
|
||||||
devfs_remove("raw/raw%d", i);
|
|
||||||
devfs_remove("raw/rawctl");
|
|
||||||
devfs_remove("raw");
|
|
||||||
class_device_destroy(raw_class, MKDEV(RAW_MAJOR, 0));
|
class_device_destroy(raw_class, MKDEV(RAW_MAJOR, 0));
|
||||||
class_destroy(raw_class);
|
class_destroy(raw_class);
|
||||||
cdev_del(&raw_cdev);
|
cdev_del(&raw_cdev);
|
||||||
|
|
|
@ -1634,7 +1634,6 @@ static inline int rc_init_drivers(void)
|
||||||
memset(IRQ_to_board, 0, sizeof(IRQ_to_board));
|
memset(IRQ_to_board, 0, sizeof(IRQ_to_board));
|
||||||
riscom_driver->owner = THIS_MODULE;
|
riscom_driver->owner = THIS_MODULE;
|
||||||
riscom_driver->name = "ttyL";
|
riscom_driver->name = "ttyL";
|
||||||
riscom_driver->devfs_name = "tts/L";
|
|
||||||
riscom_driver->major = RISCOM8_NORMAL_MAJOR;
|
riscom_driver->major = RISCOM8_NORMAL_MAJOR;
|
||||||
riscom_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
riscom_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
riscom_driver->subtype = SERIAL_TYPE_NORMAL;
|
riscom_driver->subtype = SERIAL_TYPE_NORMAL;
|
||||||
|
|
|
@ -2426,8 +2426,7 @@ static int __init rp_init(void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
rocket_driver->owner = THIS_MODULE;
|
rocket_driver->owner = THIS_MODULE;
|
||||||
rocket_driver->flags = TTY_DRIVER_NO_DEVFS;
|
rocket_driver->flags = TTY_DRIVER_DYNAMIC_DEV;
|
||||||
rocket_driver->devfs_name = "tts/R";
|
|
||||||
rocket_driver->name = "ttyR";
|
rocket_driver->name = "ttyR";
|
||||||
rocket_driver->driver_name = "Comtrol RocketPort";
|
rocket_driver->driver_name = "Comtrol RocketPort";
|
||||||
rocket_driver->major = TTY_ROCKET_MAJOR;
|
rocket_driver->major = TTY_ROCKET_MAJOR;
|
||||||
|
@ -2438,7 +2437,7 @@ static int __init rp_init(void)
|
||||||
rocket_driver->init_termios.c_cflag =
|
rocket_driver->init_termios.c_cflag =
|
||||||
B9600 | CS8 | CREAD | HUPCL | CLOCAL;
|
B9600 | CS8 | CREAD | HUPCL | CLOCAL;
|
||||||
#ifdef ROCKET_SOFT_FLOW
|
#ifdef ROCKET_SOFT_FLOW
|
||||||
rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS;
|
rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
|
||||||
#endif
|
#endif
|
||||||
tty_set_operations(rocket_driver, &rocket_ops);
|
tty_set_operations(rocket_driver, &rocket_ops);
|
||||||
|
|
||||||
|
|
|
@ -2235,7 +2235,6 @@ scrn[1] = '\0';
|
||||||
/* Initialize the tty_driver structure */
|
/* Initialize the tty_driver structure */
|
||||||
|
|
||||||
cy_serial_driver->owner = THIS_MODULE;
|
cy_serial_driver->owner = THIS_MODULE;
|
||||||
cy_serial_driver->devfs_name = "tts/";
|
|
||||||
cy_serial_driver->name = "ttyS";
|
cy_serial_driver->name = "ttyS";
|
||||||
cy_serial_driver->major = TTY_MAJOR;
|
cy_serial_driver->major = TTY_MAJOR;
|
||||||
cy_serial_driver->minor_start = 64;
|
cy_serial_driver->minor_start = 64;
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
|
||||||
|
@ -757,11 +756,8 @@ static void __exit stallion_module_exit(void)
|
||||||
"errno=%d\n", -i);
|
"errno=%d\n", -i);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++)
|
||||||
devfs_remove("staliomem/%d", i);
|
|
||||||
class_device_destroy(stallion_class, MKDEV(STL_SIOMEMMAJOR, i));
|
class_device_destroy(stallion_class, MKDEV(STL_SIOMEMMAJOR, i));
|
||||||
}
|
|
||||||
devfs_remove("staliomem");
|
|
||||||
if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
|
if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
|
||||||
printk("STALLION: failed to un-register serial memory device, "
|
printk("STALLION: failed to un-register serial memory device, "
|
||||||
"errno=%d\n", -i);
|
"errno=%d\n", -i);
|
||||||
|
@ -3044,22 +3040,16 @@ static int __init stl_init(void)
|
||||||
*/
|
*/
|
||||||
if (register_chrdev(STL_SIOMEMMAJOR, "staliomem", &stl_fsiomem))
|
if (register_chrdev(STL_SIOMEMMAJOR, "staliomem", &stl_fsiomem))
|
||||||
printk("STALLION: failed to register serial board device\n");
|
printk("STALLION: failed to register serial board device\n");
|
||||||
devfs_mk_dir("staliomem");
|
|
||||||
|
|
||||||
stallion_class = class_create(THIS_MODULE, "staliomem");
|
stallion_class = class_create(THIS_MODULE, "staliomem");
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++)
|
||||||
devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
|
|
||||||
S_IFCHR|S_IRUSR|S_IWUSR,
|
|
||||||
"staliomem/%d", i);
|
|
||||||
class_device_create(stallion_class, NULL,
|
class_device_create(stallion_class, NULL,
|
||||||
MKDEV(STL_SIOMEMMAJOR, i), NULL,
|
MKDEV(STL_SIOMEMMAJOR, i), NULL,
|
||||||
"staliomem%d", i);
|
"staliomem%d", i);
|
||||||
}
|
|
||||||
|
|
||||||
stl_serial->owner = THIS_MODULE;
|
stl_serial->owner = THIS_MODULE;
|
||||||
stl_serial->driver_name = stl_drvname;
|
stl_serial->driver_name = stl_drvname;
|
||||||
stl_serial->name = "ttyE";
|
stl_serial->name = "ttyE";
|
||||||
stl_serial->devfs_name = "tts/E";
|
|
||||||
stl_serial->major = STL_SERIALMAJOR;
|
stl_serial->major = STL_SERIALMAJOR;
|
||||||
stl_serial->minor_start = 0;
|
stl_serial->minor_start = 0;
|
||||||
stl_serial->type = TTY_DRIVER_TYPE_SERIAL;
|
stl_serial->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -56,7 +56,6 @@
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
#include <linux/devfs_fs_kernel.h> /* DevFs support */
|
|
||||||
#include <linux/parport.h> /* Our code depend on parport */
|
#include <linux/parport.h> /* Our code depend on parport */
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
|
||||||
|
@ -443,12 +442,6 @@ tipar_register(int nr, struct parport *port)
|
||||||
|
|
||||||
class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR,
|
class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR,
|
||||||
TIPAR_MINOR + nr), NULL, "par%d", nr);
|
TIPAR_MINOR + nr), NULL, "par%d", nr);
|
||||||
/* Use devfs, tree: /dev/ticables/par/[0..2] */
|
|
||||||
err = devfs_mk_cdev(MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr),
|
|
||||||
S_IFCHR | S_IRUGO | S_IWUGO,
|
|
||||||
"ticables/par/%d", nr);
|
|
||||||
if (err)
|
|
||||||
goto out_class;
|
|
||||||
|
|
||||||
/* Display informations */
|
/* Display informations */
|
||||||
pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq ==
|
pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq ==
|
||||||
|
@ -460,11 +453,7 @@ tipar_register(int nr, struct parport *port)
|
||||||
pr_info("tipar%d: link cable not found\n", nr);
|
pr_info("tipar%d: link cable not found\n", nr);
|
||||||
|
|
||||||
err = 0;
|
err = 0;
|
||||||
goto out;
|
|
||||||
|
|
||||||
out_class:
|
|
||||||
class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr));
|
|
||||||
class_destroy(tipar_class);
|
|
||||||
out:
|
out:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -507,9 +496,6 @@ tipar_init_module(void)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use devfs with tree: /dev/ticables/par/[0..2] */
|
|
||||||
devfs_mk_dir("ticables/par");
|
|
||||||
|
|
||||||
tipar_class = class_create(THIS_MODULE, "ticables");
|
tipar_class = class_create(THIS_MODULE, "ticables");
|
||||||
if (IS_ERR(tipar_class)) {
|
if (IS_ERR(tipar_class)) {
|
||||||
err = PTR_ERR(tipar_class);
|
err = PTR_ERR(tipar_class);
|
||||||
|
@ -528,7 +514,6 @@ out_class:
|
||||||
class_destroy(tipar_class);
|
class_destroy(tipar_class);
|
||||||
|
|
||||||
out_chrdev:
|
out_chrdev:
|
||||||
devfs_remove("ticables/par");
|
|
||||||
unregister_chrdev(TIPAR_MAJOR, "tipar");
|
unregister_chrdev(TIPAR_MAJOR, "tipar");
|
||||||
out:
|
out:
|
||||||
return err;
|
return err;
|
||||||
|
@ -549,10 +534,8 @@ tipar_cleanup_module(void)
|
||||||
continue;
|
continue;
|
||||||
parport_unregister_device(table[i].dev);
|
parport_unregister_device(table[i].dev);
|
||||||
class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i));
|
class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i));
|
||||||
devfs_remove("ticables/par/%d", i);
|
|
||||||
}
|
}
|
||||||
class_destroy(tipar_class);
|
class_destroy(tipar_class);
|
||||||
devfs_remove("ticables/par");
|
|
||||||
|
|
||||||
pr_info("tipar: module unloaded\n");
|
pr_info("tipar: module unloaded\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,7 +102,6 @@
|
||||||
#include <linux/kbd_kern.h>
|
#include <linux/kbd_kern.h>
|
||||||
#include <linux/vt_kern.h>
|
#include <linux/vt_kern.h>
|
||||||
#include <linux/selection.h>
|
#include <linux/selection.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
|
|
||||||
#include <linux/kmod.h>
|
#include <linux/kmod.h>
|
||||||
|
|
||||||
|
@ -2955,8 +2954,8 @@ static struct class *tty_class;
|
||||||
* Returns a pointer to the class device (or ERR_PTR(-EFOO) on error).
|
* Returns a pointer to the class device (or ERR_PTR(-EFOO) on error).
|
||||||
*
|
*
|
||||||
* This call is required to be made to register an individual tty device if
|
* This call is required to be made to register an individual tty device if
|
||||||
* the tty driver's flags have the TTY_DRIVER_NO_DEVFS bit set. If that
|
* the tty driver's flags have the TTY_DRIVER_DYNAMIC_DEV bit set. If that
|
||||||
* bit is not set, this function should not be called.
|
* bit is not set, this function should not be called by a tty driver.
|
||||||
*/
|
*/
|
||||||
struct class_device *tty_register_device(struct tty_driver *driver,
|
struct class_device *tty_register_device(struct tty_driver *driver,
|
||||||
unsigned index, struct device *device)
|
unsigned index, struct device *device)
|
||||||
|
@ -2970,9 +2969,6 @@ struct class_device *tty_register_device(struct tty_driver *driver,
|
||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"%s%d", driver->devfs_name, index + driver->name_base);
|
|
||||||
|
|
||||||
if (driver->type == TTY_DRIVER_TYPE_PTY)
|
if (driver->type == TTY_DRIVER_TYPE_PTY)
|
||||||
pty_line_name(driver, index, name);
|
pty_line_name(driver, index, name);
|
||||||
else
|
else
|
||||||
|
@ -2991,7 +2987,6 @@ struct class_device *tty_register_device(struct tty_driver *driver,
|
||||||
*/
|
*/
|
||||||
void tty_unregister_device(struct tty_driver *driver, unsigned index)
|
void tty_unregister_device(struct tty_driver *driver, unsigned index)
|
||||||
{
|
{
|
||||||
devfs_remove("%s%d", driver->devfs_name, index + driver->name_base);
|
|
||||||
class_device_destroy(tty_class, MKDEV(driver->major, driver->minor_start) + index);
|
class_device_destroy(tty_class, MKDEV(driver->major, driver->minor_start) + index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3113,7 +3108,7 @@ int tty_register_driver(struct tty_driver *driver)
|
||||||
|
|
||||||
list_add(&driver->tty_drivers, &tty_drivers);
|
list_add(&driver->tty_drivers, &tty_drivers);
|
||||||
|
|
||||||
if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) {
|
if ( !(driver->flags & TTY_DRIVER_DYNAMIC_DEV) ) {
|
||||||
for(i = 0; i < driver->num; i++)
|
for(i = 0; i < driver->num; i++)
|
||||||
tty_register_device(driver, i, NULL);
|
tty_register_device(driver, i, NULL);
|
||||||
}
|
}
|
||||||
|
@ -3156,7 +3151,7 @@ int tty_unregister_driver(struct tty_driver *driver)
|
||||||
driver->termios_locked[i] = NULL;
|
driver->termios_locked[i] = NULL;
|
||||||
kfree(tp);
|
kfree(tp);
|
||||||
}
|
}
|
||||||
if (!(driver->flags & TTY_DRIVER_NO_DEVFS))
|
if (!(driver->flags & TTY_DRIVER_DYNAMIC_DEV))
|
||||||
tty_unregister_device(driver, i);
|
tty_unregister_device(driver, i);
|
||||||
}
|
}
|
||||||
p = driver->ttys;
|
p = driver->ttys;
|
||||||
|
@ -3232,14 +3227,12 @@ static int __init tty_init(void)
|
||||||
if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) ||
|
if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) ||
|
||||||
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0)
|
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0)
|
||||||
panic("Couldn't register /dev/tty driver\n");
|
panic("Couldn't register /dev/tty driver\n");
|
||||||
devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 0), S_IFCHR|S_IRUGO|S_IWUGO, "tty");
|
|
||||||
class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty");
|
class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty");
|
||||||
|
|
||||||
cdev_init(&console_cdev, &console_fops);
|
cdev_init(&console_cdev, &console_fops);
|
||||||
if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) ||
|
if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) ||
|
||||||
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0)
|
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0)
|
||||||
panic("Couldn't register /dev/console driver\n");
|
panic("Couldn't register /dev/console driver\n");
|
||||||
devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 1), S_IFCHR|S_IRUSR|S_IWUSR, "console");
|
|
||||||
class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL, "console");
|
class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL, "console");
|
||||||
|
|
||||||
#ifdef CONFIG_UNIX98_PTYS
|
#ifdef CONFIG_UNIX98_PTYS
|
||||||
|
@ -3247,7 +3240,6 @@ static int __init tty_init(void)
|
||||||
if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
|
if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
|
||||||
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0)
|
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0)
|
||||||
panic("Couldn't register /dev/ptmx driver\n");
|
panic("Couldn't register /dev/ptmx driver\n");
|
||||||
devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 2), S_IFCHR|S_IRUGO|S_IWUGO, "ptmx");
|
|
||||||
class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx");
|
class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -3256,7 +3248,6 @@ static int __init tty_init(void)
|
||||||
if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
|
if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
|
||||||
register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
|
register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
|
||||||
panic("Couldn't register /dev/tty0 driver\n");
|
panic("Couldn't register /dev/tty0 driver\n");
|
||||||
devfs_mk_cdev(MKDEV(TTY_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vc/0");
|
|
||||||
class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
|
class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
|
||||||
|
|
||||||
vty_init();
|
vty_init();
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/tty.h>
|
#include <linux/tty.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
|
@ -478,12 +477,6 @@ static struct class *vc_class;
|
||||||
|
|
||||||
void vcs_make_devfs(struct tty_struct *tty)
|
void vcs_make_devfs(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 1),
|
|
||||||
S_IFCHR|S_IRUSR|S_IWUSR,
|
|
||||||
"vcc/%u", tty->index + 1);
|
|
||||||
devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 129),
|
|
||||||
S_IFCHR|S_IRUSR|S_IWUSR,
|
|
||||||
"vcc/a%u", tty->index + 1);
|
|
||||||
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 1),
|
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 1),
|
||||||
NULL, "vcs%u", tty->index + 1);
|
NULL, "vcs%u", tty->index + 1);
|
||||||
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 129),
|
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 129),
|
||||||
|
@ -491,8 +484,6 @@ void vcs_make_devfs(struct tty_struct *tty)
|
||||||
}
|
}
|
||||||
void vcs_remove_devfs(struct tty_struct *tty)
|
void vcs_remove_devfs(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
devfs_remove("vcc/%u", tty->index + 1);
|
|
||||||
devfs_remove("vcc/a%u", tty->index + 1);
|
|
||||||
class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 1));
|
class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 1));
|
||||||
class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 129));
|
class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 129));
|
||||||
}
|
}
|
||||||
|
@ -503,8 +494,6 @@ int __init vcs_init(void)
|
||||||
panic("unable to get major %d for vcs device", VCS_MAJOR);
|
panic("unable to get major %d for vcs device", VCS_MAJOR);
|
||||||
vc_class = class_create(THIS_MODULE, "vc");
|
vc_class = class_create(THIS_MODULE, "vc");
|
||||||
|
|
||||||
devfs_mk_cdev(MKDEV(VCS_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vcc/0");
|
|
||||||
devfs_mk_cdev(MKDEV(VCS_MAJOR, 128), S_IFCHR|S_IRUSR|S_IWUSR, "vcc/a0");
|
|
||||||
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs");
|
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs");
|
||||||
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa");
|
class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1152,7 +1152,6 @@ static int __init viocons_init2(void)
|
||||||
viotty_driver = alloc_tty_driver(VTTY_PORTS);
|
viotty_driver = alloc_tty_driver(VTTY_PORTS);
|
||||||
viotty_driver->owner = THIS_MODULE;
|
viotty_driver->owner = THIS_MODULE;
|
||||||
viotty_driver->driver_name = "vioconsole";
|
viotty_driver->driver_name = "vioconsole";
|
||||||
viotty_driver->devfs_name = "vcs/";
|
|
||||||
viotty_driver->name = "tty";
|
viotty_driver->name = "tty";
|
||||||
viotty_driver->name_base = 1;
|
viotty_driver->name_base = 1;
|
||||||
viotty_driver->major = TTY_MAJOR;
|
viotty_driver->major = TTY_MAJOR;
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/cdev.h>
|
#include <linux/cdev.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/completion.h>
|
#include <linux/completion.h>
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
|
@ -246,7 +245,6 @@ static struct device *tape_device[VIOTAPE_MAX_TAPE];
|
||||||
*/
|
*/
|
||||||
static struct {
|
static struct {
|
||||||
unsigned char cur_part;
|
unsigned char cur_part;
|
||||||
int dev_handle;
|
|
||||||
unsigned char part_stat_rwi[MAX_PARTITIONS];
|
unsigned char part_stat_rwi[MAX_PARTITIONS];
|
||||||
} state[VIOTAPE_MAX_TAPE];
|
} state[VIOTAPE_MAX_TAPE];
|
||||||
|
|
||||||
|
@ -959,12 +957,7 @@ static int viotape_probe(struct vio_dev *vdev, const struct vio_device_id *id)
|
||||||
"iseries!vt%d", i);
|
"iseries!vt%d", i);
|
||||||
class_device_create(tape_class, NULL, MKDEV(VIOTAPE_MAJOR, i | 0x80),
|
class_device_create(tape_class, NULL, MKDEV(VIOTAPE_MAJOR, i | 0x80),
|
||||||
NULL, "iseries!nvt%d", i);
|
NULL, "iseries!nvt%d", i);
|
||||||
devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i), S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"iseries/vt%d", i);
|
|
||||||
devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i | 0x80),
|
|
||||||
S_IFCHR | S_IRUSR | S_IWUSR, "iseries/nvt%d", i);
|
|
||||||
sprintf(tapename, "iseries/vt%d", i);
|
sprintf(tapename, "iseries/vt%d", i);
|
||||||
state[i].dev_handle = devfs_register_tape(tapename);
|
|
||||||
printk(VIOTAPE_KERN_INFO "tape %s is iSeries "
|
printk(VIOTAPE_KERN_INFO "tape %s is iSeries "
|
||||||
"resource %10.10s type %4.4s, model %3.3s\n",
|
"resource %10.10s type %4.4s, model %3.3s\n",
|
||||||
tapename, viotape_unitinfo[i].rsrcname,
|
tapename, viotape_unitinfo[i].rsrcname,
|
||||||
|
@ -976,9 +969,6 @@ static int viotape_remove(struct vio_dev *vdev)
|
||||||
{
|
{
|
||||||
int i = vdev->unit_address;
|
int i = vdev->unit_address;
|
||||||
|
|
||||||
devfs_remove("iseries/nvt%d", i);
|
|
||||||
devfs_remove("iseries/vt%d", i);
|
|
||||||
devfs_unregister_tape(state[i].dev_handle);
|
|
||||||
class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80));
|
class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80));
|
||||||
class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i));
|
class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -147,7 +147,6 @@ static int scc_init_drivers(void)
|
||||||
scc_driver->owner = THIS_MODULE;
|
scc_driver->owner = THIS_MODULE;
|
||||||
scc_driver->driver_name = "scc";
|
scc_driver->driver_name = "scc";
|
||||||
scc_driver->name = "ttyS";
|
scc_driver->name = "ttyS";
|
||||||
scc_driver->devfs_name = "tts/";
|
|
||||||
scc_driver->major = TTY_MAJOR;
|
scc_driver->major = TTY_MAJOR;
|
||||||
scc_driver->minor_start = SCC_MINOR_BASE;
|
scc_driver->minor_start = SCC_MINOR_BASE;
|
||||||
scc_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
scc_driver->type = TTY_DRIVER_TYPE_SERIAL;
|
||||||
|
|
|
@ -79,7 +79,6 @@
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/console.h>
|
#include <linux/console.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/vt_kern.h>
|
#include <linux/vt_kern.h>
|
||||||
#include <linux/selection.h>
|
#include <linux/selection.h>
|
||||||
#include <linux/tiocl.h>
|
#include <linux/tiocl.h>
|
||||||
|
@ -2663,7 +2662,6 @@ int __init vty_init(void)
|
||||||
if (!console_driver)
|
if (!console_driver)
|
||||||
panic("Couldn't allocate console driver\n");
|
panic("Couldn't allocate console driver\n");
|
||||||
console_driver->owner = THIS_MODULE;
|
console_driver->owner = THIS_MODULE;
|
||||||
console_driver->devfs_name = "vc/";
|
|
||||||
console_driver->name = "tty";
|
console_driver->name = "tty";
|
||||||
console_driver->name_base = 1;
|
console_driver->name_base = 1;
|
||||||
console_driver->major = TTY_MAJOR;
|
console_driver->major = TTY_MAJOR;
|
||||||
|
|
|
@ -3527,8 +3527,6 @@ static int ide_cd_probe(ide_drive_t *drive)
|
||||||
drive->driver_data = info;
|
drive->driver_data = info;
|
||||||
|
|
||||||
g->minors = 1;
|
g->minors = 1;
|
||||||
snprintf(g->devfs_name, sizeof(g->devfs_name),
|
|
||||||
"%s/cd", drive->devfs_name);
|
|
||||||
g->driverfs_dev = &drive->gendev;
|
g->driverfs_dev = &drive->gendev;
|
||||||
g->flags = GENHD_FL_CD | GENHD_FL_REMOVABLE;
|
g->flags = GENHD_FL_CD | GENHD_FL_REMOVABLE;
|
||||||
if (ide_cdrom_setup(drive)) {
|
if (ide_cdrom_setup(drive)) {
|
||||||
|
|
|
@ -1018,7 +1018,6 @@ static void ide_disk_release(struct kref *kref)
|
||||||
struct gendisk *g = idkp->disk;
|
struct gendisk *g = idkp->disk;
|
||||||
|
|
||||||
drive->driver_data = NULL;
|
drive->driver_data = NULL;
|
||||||
drive->devfs_name[0] = '\0';
|
|
||||||
g->private_data = NULL;
|
g->private_data = NULL;
|
||||||
put_disk(g);
|
put_disk(g);
|
||||||
kfree(idkp);
|
kfree(idkp);
|
||||||
|
@ -1222,7 +1221,6 @@ static int ide_disk_probe(ide_drive_t *drive)
|
||||||
drive->attach = 1;
|
drive->attach = 1;
|
||||||
|
|
||||||
g->minors = 1 << PARTN_BITS;
|
g->minors = 1 << PARTN_BITS;
|
||||||
strcpy(g->devfs_name, drive->devfs_name);
|
|
||||||
g->driverfs_dev = &drive->gendev;
|
g->driverfs_dev = &drive->gendev;
|
||||||
g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
|
g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
|
||||||
set_capacity(g, idedisk_capacity(drive));
|
set_capacity(g, idedisk_capacity(drive));
|
||||||
|
|
|
@ -2176,7 +2176,6 @@ static int ide_floppy_probe(ide_drive_t *drive)
|
||||||
|
|
||||||
g->minors = 1 << PARTN_BITS;
|
g->minors = 1 << PARTN_BITS;
|
||||||
g->driverfs_dev = &drive->gendev;
|
g->driverfs_dev = &drive->gendev;
|
||||||
strcpy(g->devfs_name, drive->devfs_name);
|
|
||||||
g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
|
g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
|
||||||
g->fops = &idefloppy_ops;
|
g->fops = &idefloppy_ops;
|
||||||
drive->attach = 1;
|
drive->attach = 1;
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/ide.h>
|
#include <linux/ide.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/kmod.h>
|
#include <linux/kmod.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
@ -1279,10 +1278,6 @@ static void drive_release_dev (struct device *dev)
|
||||||
ide_drive_t *drive = container_of(dev, ide_drive_t, gendev);
|
ide_drive_t *drive = container_of(dev, ide_drive_t, gendev);
|
||||||
|
|
||||||
spin_lock_irq(&ide_lock);
|
spin_lock_irq(&ide_lock);
|
||||||
if (drive->devfs_name[0] != '\0') {
|
|
||||||
devfs_remove(drive->devfs_name);
|
|
||||||
drive->devfs_name[0] = '\0';
|
|
||||||
}
|
|
||||||
ide_remove_drive_from_hwgroup(drive);
|
ide_remove_drive_from_hwgroup(drive);
|
||||||
kfree(drive->id);
|
kfree(drive->id);
|
||||||
drive->id = NULL;
|
drive->id = NULL;
|
||||||
|
@ -1316,12 +1311,6 @@ static void init_gendisk (ide_hwif_t *hwif)
|
||||||
drive->gendev.bus = &ide_bus_type;
|
drive->gendev.bus = &ide_bus_type;
|
||||||
drive->gendev.driver_data = drive;
|
drive->gendev.driver_data = drive;
|
||||||
drive->gendev.release = drive_release_dev;
|
drive->gendev.release = drive_release_dev;
|
||||||
if (drive->present) {
|
|
||||||
sprintf(drive->devfs_name, "ide/host%d/bus%d/target%d/lun%d",
|
|
||||||
(hwif->channel && hwif->mate) ?
|
|
||||||
hwif->mate->index : hwif->index,
|
|
||||||
hwif->channel, unit, drive->lun);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
blk_register_region(MKDEV(hwif->major, 0), MAX_DRIVES << PARTN_BITS,
|
blk_register_region(MKDEV(hwif->major, 0), MAX_DRIVES << PARTN_BITS,
|
||||||
THIS_MODULE, ata_probe, ata_lock, hwif);
|
THIS_MODULE, ata_probe, ata_lock, hwif);
|
||||||
|
|
|
@ -435,7 +435,6 @@
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/genhd.h>
|
#include <linux/genhd.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
@ -4726,9 +4725,6 @@ static void ide_tape_release(struct kref *kref)
|
||||||
MKDEV(IDETAPE_MAJOR, tape->minor));
|
MKDEV(IDETAPE_MAJOR, tape->minor));
|
||||||
class_device_destroy(idetape_sysfs_class,
|
class_device_destroy(idetape_sysfs_class,
|
||||||
MKDEV(IDETAPE_MAJOR, tape->minor + 128));
|
MKDEV(IDETAPE_MAJOR, tape->minor + 128));
|
||||||
devfs_remove("%s/mt", drive->devfs_name);
|
|
||||||
devfs_remove("%s/mtn", drive->devfs_name);
|
|
||||||
devfs_unregister_tape(g->number);
|
|
||||||
idetape_devs[tape->minor] = NULL;
|
idetape_devs[tape->minor] = NULL;
|
||||||
g->private_data = NULL;
|
g->private_data = NULL;
|
||||||
put_disk(g);
|
put_disk(g);
|
||||||
|
@ -4902,14 +4898,6 @@ static int ide_tape_probe(ide_drive_t *drive)
|
||||||
class_device_create(idetape_sysfs_class, NULL,
|
class_device_create(idetape_sysfs_class, NULL,
|
||||||
MKDEV(IDETAPE_MAJOR, minor + 128), &drive->gendev, "n%s", tape->name);
|
MKDEV(IDETAPE_MAJOR, minor + 128), &drive->gendev, "n%s", tape->name);
|
||||||
|
|
||||||
devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor),
|
|
||||||
S_IFCHR | S_IRUGO | S_IWUGO,
|
|
||||||
"%s/mt", drive->devfs_name);
|
|
||||||
devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor + 128),
|
|
||||||
S_IFCHR | S_IRUGO | S_IWUGO,
|
|
||||||
"%s/mtn", drive->devfs_name);
|
|
||||||
|
|
||||||
g->number = devfs_register_tape(drive->devfs_name);
|
|
||||||
g->fops = &idetape_block_ops;
|
g->fops = &idetape_block_ops;
|
||||||
ide_register_region(g);
|
ide_register_region(g);
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,6 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/ide.h>
|
#include <linux/ide.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/completion.h>
|
#include <linux/completion.h>
|
||||||
#include <linux/reboot.h>
|
#include <linux/reboot.h>
|
||||||
#include <linux/cdrom.h>
|
#include <linux/cdrom.h>
|
||||||
|
@ -592,13 +591,8 @@ void ide_unregister(unsigned int index)
|
||||||
goto abort;
|
goto abort;
|
||||||
for (unit = 0; unit < MAX_DRIVES; ++unit) {
|
for (unit = 0; unit < MAX_DRIVES; ++unit) {
|
||||||
drive = &hwif->drives[unit];
|
drive = &hwif->drives[unit];
|
||||||
if (!drive->present) {
|
if (!drive->present)
|
||||||
if (drive->devfs_name[0] != '\0') {
|
|
||||||
devfs_remove(drive->devfs_name);
|
|
||||||
drive->devfs_name[0] = '\0';
|
|
||||||
}
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
spin_unlock_irq(&ide_lock);
|
spin_unlock_irq(&ide_lock);
|
||||||
device_unregister(&drive->gendev);
|
device_unregister(&drive->gendev);
|
||||||
wait_for_completion(&drive->gendev_rel_comp);
|
wait_for_completion(&drive->gendev_rel_comp);
|
||||||
|
@ -1996,7 +1990,6 @@ EXPORT_SYMBOL_GPL(ide_bus_type);
|
||||||
static int __init ide_init(void)
|
static int __init ide_init(void)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "Uniform Multi-Platform E-IDE driver " REVISION "\n");
|
printk(KERN_INFO "Uniform Multi-Platform E-IDE driver " REVISION "\n");
|
||||||
devfs_mk_dir("ide");
|
|
||||||
system_bus_speed = ide_system_bus_speed();
|
system_bus_speed = ide_system_bus_speed();
|
||||||
|
|
||||||
bus_register(&ide_bus_type);
|
bus_register(&ide_bus_type);
|
||||||
|
@ -2074,7 +2067,6 @@ void cleanup_module (void)
|
||||||
#ifdef CONFIG_PROC_FS
|
#ifdef CONFIG_PROC_FS
|
||||||
proc_ide_destroy();
|
proc_ide_destroy();
|
||||||
#endif
|
#endif
|
||||||
devfs_remove("ide");
|
|
||||||
|
|
||||||
bus_unregister(&ide_bus_type);
|
bus_unregister(&ide_bus_type);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/major.h>
|
#include <linux/major.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/miscdevice.h>
|
#include <linux/miscdevice.h>
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/moduleparam.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <linux/isdn/capiutil.h>
|
#include <linux/isdn/capiutil.h>
|
||||||
#include <linux/isdn/capicmd.h>
|
#include <linux/isdn/capicmd.h>
|
||||||
#if defined(CONFIG_ISDN_CAPI_CAPIFS) || defined(CONFIG_ISDN_CAPI_CAPIFS_MODULE)
|
#if defined(CONFIG_ISDN_CAPI_CAPIFS) || defined(CONFIG_ISDN_CAPI_CAPIFS_MODULE)
|
||||||
|
@ -1337,7 +1336,6 @@ static int capinc_tty_init(void)
|
||||||
|
|
||||||
drv->owner = THIS_MODULE;
|
drv->owner = THIS_MODULE;
|
||||||
drv->driver_name = "capi_nc";
|
drv->driver_name = "capi_nc";
|
||||||
drv->devfs_name = "capi/";
|
|
||||||
drv->name = "capi";
|
drv->name = "capi";
|
||||||
drv->major = capi_ttymajor;
|
drv->major = capi_ttymajor;
|
||||||
drv->minor_start = 0;
|
drv->minor_start = 0;
|
||||||
|
@ -1516,8 +1514,6 @@ static int __init capi_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
class_device_create(capi_class, NULL, MKDEV(capi_major, 0), NULL, "capi");
|
class_device_create(capi_class, NULL, MKDEV(capi_major, 0), NULL, "capi");
|
||||||
devfs_mk_cdev(MKDEV(capi_major, 0), S_IFCHR | S_IRUSR | S_IWUSR,
|
|
||||||
"isdn/capi20");
|
|
||||||
|
|
||||||
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
|
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
|
||||||
if (capinc_tty_init() < 0) {
|
if (capinc_tty_init() < 0) {
|
||||||
|
@ -1552,7 +1548,6 @@ static void __exit capi_exit(void)
|
||||||
class_device_destroy(capi_class, MKDEV(capi_major, 0));
|
class_device_destroy(capi_class, MKDEV(capi_major, 0));
|
||||||
class_destroy(capi_class);
|
class_destroy(capi_class);
|
||||||
unregister_chrdev(capi_major, "capi20");
|
unregister_chrdev(capi_major, "capi20");
|
||||||
devfs_remove("isdn/capi20");
|
|
||||||
|
|
||||||
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
|
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
|
||||||
capinc_tty_exit();
|
capinc_tty_exit();
|
||||||
|
|
|
@ -41,7 +41,6 @@ MODULE_PARM_DESC(cidmode, "Call-ID mode");
|
||||||
#define GIGASET_MINORS 1
|
#define GIGASET_MINORS 1
|
||||||
#define GIGASET_MINOR 16
|
#define GIGASET_MINOR 16
|
||||||
#define GIGASET_MODULENAME "bas_gigaset"
|
#define GIGASET_MODULENAME "bas_gigaset"
|
||||||
#define GIGASET_DEVFSNAME "gig/bas/"
|
|
||||||
#define GIGASET_DEVNAME "ttyGB"
|
#define GIGASET_DEVNAME "ttyGB"
|
||||||
|
|
||||||
/* length limit according to Siemens 3070usb-protokoll.doc ch. 2.1 */
|
/* length limit according to Siemens 3070usb-protokoll.doc ch. 2.1 */
|
||||||
|
@ -2349,8 +2348,7 @@ static int __init bas_gigaset_init(void)
|
||||||
/* allocate memory for our driver state and intialize it */
|
/* allocate memory for our driver state and intialize it */
|
||||||
if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS,
|
if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS,
|
||||||
GIGASET_MODULENAME, GIGASET_DEVNAME,
|
GIGASET_MODULENAME, GIGASET_DEVNAME,
|
||||||
GIGASET_DEVFSNAME, &gigops,
|
&gigops, THIS_MODULE)) == NULL)
|
||||||
THIS_MODULE)) == NULL)
|
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
/* allocate memory for our device state and intialize it */
|
/* allocate memory for our device state and intialize it */
|
||||||
|
|
|
@ -1092,14 +1092,12 @@ EXPORT_SYMBOL_GPL(gigaset_freedriver);
|
||||||
* minors Number of minors this driver can handle
|
* minors Number of minors this driver can handle
|
||||||
* procname Name of the driver
|
* procname Name of the driver
|
||||||
* devname Name of the device files (prefix without minor number)
|
* devname Name of the device files (prefix without minor number)
|
||||||
* devfsname Devfs name of the device files without %d
|
|
||||||
* return value:
|
* return value:
|
||||||
* Pointer to the gigaset_driver structure on success, NULL on failure.
|
* Pointer to the gigaset_driver structure on success, NULL on failure.
|
||||||
*/
|
*/
|
||||||
struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
|
struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
|
||||||
const char *procname,
|
const char *procname,
|
||||||
const char *devname,
|
const char *devname,
|
||||||
const char *devfsname,
|
|
||||||
const struct gigaset_ops *ops,
|
const struct gigaset_ops *ops,
|
||||||
struct module *owner)
|
struct module *owner)
|
||||||
{
|
{
|
||||||
|
@ -1139,7 +1137,7 @@ struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
|
||||||
drv->cs[i].minor_index = i;
|
drv->cs[i].minor_index = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
gigaset_if_initdriver(drv, procname, devname, devfsname);
|
gigaset_if_initdriver(drv, procname, devname);
|
||||||
|
|
||||||
spin_lock_irqsave(&driver_lock, flags);
|
spin_lock_irqsave(&driver_lock, flags);
|
||||||
list_add(&drv->list, &drivers);
|
list_add(&drv->list, &drivers);
|
||||||
|
|
|
@ -769,7 +769,6 @@ void gigaset_block_channels(struct cardstate *cs);
|
||||||
struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
|
struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors,
|
||||||
const char *procname,
|
const char *procname,
|
||||||
const char *devname,
|
const char *devname,
|
||||||
const char *devfsname,
|
|
||||||
const struct gigaset_ops *ops,
|
const struct gigaset_ops *ops,
|
||||||
struct module *owner);
|
struct module *owner);
|
||||||
|
|
||||||
|
@ -892,7 +891,7 @@ int gigaset_fill_inbuf(struct inbuf_t *inbuf, const unsigned char *src,
|
||||||
|
|
||||||
/* initialize interface */
|
/* initialize interface */
|
||||||
void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
|
void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
|
||||||
const char *devname, const char *devfsname);
|
const char *devname);
|
||||||
/* release interface */
|
/* release interface */
|
||||||
void gigaset_if_freedriver(struct gigaset_driver *drv);
|
void gigaset_if_freedriver(struct gigaset_driver *drv);
|
||||||
/* add minor */
|
/* add minor */
|
||||||
|
|
|
@ -673,10 +673,9 @@ EXPORT_SYMBOL_GPL(gigaset_if_receive);
|
||||||
* drv Driver
|
* drv Driver
|
||||||
* procname Name of the driver (e.g. for /proc/tty/drivers)
|
* procname Name of the driver (e.g. for /proc/tty/drivers)
|
||||||
* devname Name of the device files (prefix without minor number)
|
* devname Name of the device files (prefix without minor number)
|
||||||
* devfsname Devfs name of the device files without %d
|
|
||||||
*/
|
*/
|
||||||
void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
|
void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
|
||||||
const char *devname, const char *devfsname)
|
const char *devname)
|
||||||
{
|
{
|
||||||
unsigned minors = drv->minors;
|
unsigned minors = drv->minors;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -692,7 +691,7 @@ void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
|
||||||
tty->major = GIG_MAJOR,
|
tty->major = GIG_MAJOR,
|
||||||
tty->type = TTY_DRIVER_TYPE_SERIAL,
|
tty->type = TTY_DRIVER_TYPE_SERIAL,
|
||||||
tty->subtype = SERIAL_TYPE_NORMAL,
|
tty->subtype = SERIAL_TYPE_NORMAL,
|
||||||
tty->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS,
|
tty->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
|
||||||
|
|
||||||
tty->driver_name = procname;
|
tty->driver_name = procname;
|
||||||
tty->name = devname;
|
tty->name = devname;
|
||||||
|
@ -700,7 +699,6 @@ void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname,
|
||||||
tty->num = drv->minors;
|
tty->num = drv->minors;
|
||||||
|
|
||||||
tty->owner = THIS_MODULE;
|
tty->owner = THIS_MODULE;
|
||||||
tty->devfs_name = devfsname;
|
|
||||||
|
|
||||||
tty->init_termios = tty_std_termios; //FIXME
|
tty->init_termios = tty_std_termios; //FIXME
|
||||||
tty->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; //FIXME
|
tty->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; //FIXME
|
||||||
|
|
|
@ -41,7 +41,6 @@ MODULE_PARM_DESC(cidmode, "Call-ID mode");
|
||||||
#define GIGASET_MINORS 1
|
#define GIGASET_MINORS 1
|
||||||
#define GIGASET_MINOR 8
|
#define GIGASET_MINOR 8
|
||||||
#define GIGASET_MODULENAME "usb_gigaset"
|
#define GIGASET_MODULENAME "usb_gigaset"
|
||||||
#define GIGASET_DEVFSNAME "gig/usb/"
|
|
||||||
#define GIGASET_DEVNAME "ttyGU"
|
#define GIGASET_DEVNAME "ttyGU"
|
||||||
|
|
||||||
#define IF_WRITEBUF 2000 //FIXME // WAKEUP_CHARS: 256
|
#define IF_WRITEBUF 2000 //FIXME // WAKEUP_CHARS: 256
|
||||||
|
@ -896,8 +895,7 @@ static int __init usb_gigaset_init(void)
|
||||||
/* allocate memory for our driver state and intialize it */
|
/* allocate memory for our driver state and intialize it */
|
||||||
if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS,
|
if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS,
|
||||||
GIGASET_MODULENAME, GIGASET_DEVNAME,
|
GIGASET_MODULENAME, GIGASET_DEVNAME,
|
||||||
GIGASET_DEVFSNAME, &ops,
|
&ops, THIS_MODULE)) == NULL)
|
||||||
THIS_MODULE)) == NULL)
|
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
/* allocate memory for our device state and intialize it */
|
/* allocate memory for our device state and intialize it */
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/smp_lock.h>
|
#include <linux/smp_lock.h>
|
||||||
#include <linux/poll.h>
|
#include <linux/poll.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
@ -178,7 +177,6 @@ static struct file_operations divas_maint_fops = {
|
||||||
|
|
||||||
static void divas_maint_unregister_chrdev(void)
|
static void divas_maint_unregister_chrdev(void)
|
||||||
{
|
{
|
||||||
devfs_remove(DEVNAME);
|
|
||||||
unregister_chrdev(major, DEVNAME);
|
unregister_chrdev(major, DEVNAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,7 +188,6 @@ static int DIVA_INIT_FUNCTION divas_maint_register_chrdev(void)
|
||||||
DRIVERLNAME);
|
DRIVERLNAME);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME);
|
|
||||||
|
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include <linux/poll.h>
|
#include <linux/poll.h>
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
@ -145,7 +144,6 @@ static struct file_operations divas_idi_fops = {
|
||||||
|
|
||||||
static void divas_idi_unregister_chrdev(void)
|
static void divas_idi_unregister_chrdev(void)
|
||||||
{
|
{
|
||||||
devfs_remove(DEVNAME);
|
|
||||||
unregister_chrdev(major, DEVNAME);
|
unregister_chrdev(major, DEVNAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +155,6 @@ static int DIVA_INIT_FUNCTION divas_idi_register_chrdev(void)
|
||||||
DRIVERLNAME);
|
DRIVERLNAME);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME);
|
|
||||||
|
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/devfs_fs_kernel.h>
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
|
@ -678,7 +677,6 @@ static struct file_operations divas_fops = {
|
||||||
|
|
||||||
static void divas_unregister_chrdev(void)
|
static void divas_unregister_chrdev(void)
|
||||||
{
|
{
|
||||||
devfs_remove(DEVNAME);
|
|
||||||
unregister_chrdev(major, DEVNAME);
|
unregister_chrdev(major, DEVNAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -690,7 +688,6 @@ static int DIVA_INIT_FUNCTION divas_register_chrdev(void)
|
||||||
DRIVERLNAME);
|
DRIVERLNAME);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME);
|
|
||||||
|
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue