Commit bf6ee0ae authored by Adrian Bunk's avatar Adrian Bunk

remove mentionings of devfs in documentation

Now that devfs is removed, there's no longer any need to document how to
do this or that with devfs.

This patch includes some improvements by Joe Perches.
Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
parent 0a8fe0d7
...@@ -314,8 +314,7 @@ ...@@ -314,8 +314,7 @@
<emphasis>usbdevfs</emphasis> although it wasn't solving what <emphasis>usbdevfs</emphasis> although it wasn't solving what
<emphasis>devfs</emphasis> was. <emphasis>devfs</emphasis> was.
Every USB device will appear in usbfs, regardless of whether or Every USB device will appear in usbfs, regardless of whether or
not it has a kernel driver; but only devices with kernel drivers not it has a kernel driver.
show up in devfs.
</para> </para>
<sect1> <sect1>
......
...@@ -224,13 +224,8 @@ static int skel_probe(struct usb_interface *interface, ...@@ -224,13 +224,8 @@ static int skel_probe(struct usb_interface *interface,
Conversely, when the device is removed from the USB bus, the disconnect Conversely, when the device is removed from the USB bus, the disconnect
function is called with the device pointer. The driver needs to clean any function is called with the device pointer. The driver needs to clean any
private data that has been allocated at this time and to shut down any private data that has been allocated at this time and to shut down any
pending urbs that are in the USB system. The driver also unregisters pending urbs that are in the USB system.
itself from the devfs subsystem with the call:
</para> </para>
<programlisting>
/* remove our devfs node */
devfs_unregister(skel->devfs);
</programlisting>
<para> <para>
Now that the device is plugged into the system and the driver is bound to Now that the device is plugged into the system and the driver is bound to
the device, any of the functions in the file_operations structure that the device, any of the functions in the file_operations structure that
......
...@@ -24,8 +24,8 @@ The SA1100 serial port had its major/minor numbers officially assigned: ...@@ -24,8 +24,8 @@ The SA1100 serial port had its major/minor numbers officially assigned:
> 7 = /dev/cusa2 Callout device for ttySA2 > 7 = /dev/cusa2 Callout device for ttySA2
> >
If you're not using devfs, you must create those inodes in /dev You must create those inodes in /dev on the root filesystem used
on the root filesystem used by your SA1100-based device: by your SA1100-based device:
mknod ttySA0 c 204 5 mknod ttySA0 c 204 5
mknod ttySA1 c 204 6 mknod ttySA1 c 204 6
......
...@@ -199,30 +199,6 @@ boxes this will leave gaps in the sequence of device names. ip2mkdev uses ...@@ -199,30 +199,6 @@ boxes this will leave gaps in the sequence of device names. ip2mkdev uses
Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and
cuf0 - cuf255 for callout devices. cuf0 - cuf255 for callout devices.
If you are using devfs, existing devices are automatically created within
the devfs name space. Normal devices will be tts/F0 - tts/F255 and callout
devices will be cua/F0 - cua/F255. With devfs installed, ip2mkdev will
create symbolic links in /dev from the old conventional names to the newer
devfs names as follows:
/dev/ip2ipl[n] -> /dev/ip2/ipl[n] n = 0 - 3
/dev/ip2stat[n] -> /dev/ip2/stat[n] n = 0 - 3
/dev/ttyF[n] -> /dev/tts/F[n] n = 0 - 255
/dev/cuf[n] -> /dev/cua/F[n] n = 0 - 255
Only devices for existing ports and boards will be created.
IMPORTANT NOTE: The naming convention used for devfs by this driver
was changed from 1.2.12 to 1.2.13. The old naming convention was to
use ttf/%d for the tty device and cuf/%d for the cua device. That
has been changed to conform to an agreed-upon standard of placing
all the tty devices under tts. The device names are now tts/F%d for
the tty device and cua/F%d for the cua devices. If you were using
the older devfs names, you must update for the newer convention.
You do not need to run ip2mkdev if you are using devfs and only want to
use the devfs native device names.
4. USING THE DRIVERS 4. USING THE DRIVERS
...@@ -256,57 +232,15 @@ cut out and run as "ip2mkdev" to create the necessary device files. To ...@@ -256,57 +232,15 @@ cut out and run as "ip2mkdev" to create the necessary device files. To
use the ip2mkdev script, you must have procfs enabled and the proc file use the ip2mkdev script, you must have procfs enabled and the proc file
system mounted on /proc. system mounted on /proc.
You do not need to run ip2mkdev if you are using devfs and only want to
use the devfs native device names.
6. DEVFS
DEVFS is the DEVice File System available as an add on package for the
2.2.x kernels and available as a configuration option in 2.3.46 and higher.
Devfs allows for the automatic creation and management of device names
under control of the device drivers themselves. The Devfs namespace is
hierarchical and reduces the clutter present in the normal flat /dev
namespace. Devfs names and conventional device names may be intermixed.
A userspace daemon, devfsd, exists to allow for automatic creation and
management of symbolic links from the devfs name space to the conventional
names. More details on devfs can be found on the DEVFS home site at
<http://www.atnf.csiro.au/~rgooch/linux/> or in the file kernel
documentation files, .../linux/Documentation/filesystems/devfs/README.
If you are using devfs, existing devices are automatically created within
the devfs name space. Normal devices will be tts/F0 - tts/F255 and callout
devices will be cua/F0 - cua/F255. With devfs installed, ip2mkdev will
create symbolic links in /dev from the old conventional names to the newer
devfs names as follows:
/dev/ip2ipl[n] -> /dev/ip2/ipl[n] n = 0 - 3
/dev/ip2stat[n] -> /dev/ip2/stat[n] n = 0 - 3
/dev/ttyF[n] -> /dev/tts/F[n] n = 0 - 255
/dev/cuf[n] -> /dev/cua/F[n] n = 0 - 255
Only devices for existing ports and boards will be created.
IMPORTANT NOTE: The naming convention used for devfs by this driver
was changed from 1.2.12 to 1.2.13. The old naming convention was to
use ttf/%d for the tty device and cuf/%d for the cua device. That
has been changed to conform to an agreed-upon standard of placing
all the tty devices under tts. The device names are now tts/F%d for
the tty device and cua/F%d for the cua devices. If you were using
the older devfs names, you must update for the newer convention.
You do not need to run ip2mkdev if you are using devfs and only want to
use the devfs native device names.
7. NOTES 6. NOTES
This is a release version of the driver, but it is impossible to test it This is a release version of the driver, but it is impossible to test it
in all configurations of Linux. If there is any anomalous behaviour that in all configurations of Linux. If there is any anomalous behaviour that
does not match the standard serial port's behaviour please let us know. does not match the standard serial port's behaviour please let us know.
8. ip2mkdev shell script 7. ip2mkdev shell script
Previously, this script was simply attached here. It is now attached as a Previously, this script was simply attached here. It is now attached as a
shar archive to make it easier to extract the script from the documentation. shar archive to make it easier to extract the script from the documentation.
......
...@@ -26,8 +26,6 @@ cramfs.txt ...@@ -26,8 +26,6 @@ cramfs.txt
- info on the cram filesystem for small storage (ROMs etc). - info on the cram filesystem for small storage (ROMs etc).
dentry-locking.txt dentry-locking.txt
- info on the RCU-based dcache locking model. - info on the RCU-based dcache locking model.
devfs/
- directory containing devfs documentation.
directory-locking directory-locking
- info about the locking scheme used for directory operations. - info about the locking scheme used for directory operations.
dlmfs.txt dlmfs.txt
......
...@@ -39,7 +39,7 @@ tmpfs has the following uses: ...@@ -39,7 +39,7 @@ tmpfs has the following uses:
tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0
Remember to create the directory that you intend to mount tmpfs on Remember to create the directory that you intend to mount tmpfs on
if necessary (/dev/shm is automagically created if you use devfs). if necessary.
This mount is _not_ needed for SYSV shared memory. The internal This mount is _not_ needed for SYSV shared memory. The internal
mount is used for that. (In the 2.3 kernel versions it was mount is used for that. (In the 2.3 kernel versions it was
......
...@@ -68,8 +68,8 @@ will be available as a character device on major 13, minor 63: ...@@ -68,8 +68,8 @@ will be available as a character device on major 13, minor 63:
crw-r--r-- 1 root root 13, 63 Mar 28 22:45 mice crw-r--r-- 1 root root 13, 63 Mar 28 22:45 mice
This device has to be created, unless you use devfs, in which case it's This device has to be created.
created automatically. The commands to do create it by hand are: The commands to create it by hand are:
cd /dev cd /dev
mkdir input mkdir input
......
...@@ -60,7 +60,7 @@ and install it before going on. ...@@ -60,7 +60,7 @@ and install it before going on.
2.2 Device nodes 2.2 Device nodes
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
For applications to be able to use the joysticks, in you don't use devfs, For applications to be able to use the joysticks,
you'll have to manually create these nodes in /dev: you'll have to manually create these nodes in /dev:
cd /dev cd /dev
......
...@@ -290,17 +290,6 @@ ...@@ -290,17 +290,6 @@
Description: Very nice 92 pages GPL book on the topic of modules Description: Very nice 92 pages GPL book on the topic of modules
programming. Lots of examples. programming. Lots of examples.
* Title: "Device File System (devfs) Overview"
Author: Richard Gooch.
URL: http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html
Keywords: filesystem, /dev, devfs, dynamic devices, major/minor
allocation, device management.
Description: Document describing Richard Gooch's controversial
devfs, which allows for dynamic devices, only shows present
devices in /dev, gets rid of major/minor numbers allocation
problems, and allows for hundreds of identical devices (which some
USB systems might demand soon).
* Title: "I/O Event Handling Under Linux" * Title: "I/O Event Handling Under Linux"
Author: Richard Gooch. Author: Richard Gooch.
URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html
......
...@@ -111,9 +111,7 @@ Here are the installation steps in detail: ...@@ -111,9 +111,7 @@ Here are the installation steps in detail:
config3270.sh. Inspect the output script it produces, config3270.sh. Inspect the output script it produces,
/tmp/mkdev3270, and then run that script. This will create the /tmp/mkdev3270, and then run that script. This will create the
necessary character special device files and make the necessary necessary character special device files and make the necessary
changes to /etc/inittab. If you have selected DEVFS, the driver changes to /etc/inittab.
itself creates the device files, and /tmp/mkdev3270 only changes
/etc/inittab.
Then notify /sbin/init that /etc/inittab has changed, by issuing Then notify /sbin/init that /etc/inittab has changed, by issuing
the telinit command with the q operand: the telinit command with the q operand:
......
...@@ -56,8 +56,7 @@ Compile your kernel and install the modules. ...@@ -56,8 +56,7 @@ Compile your kernel and install the modules.
Now, your osst driver is inside the kernel or available as a module, Now, your osst driver is inside the kernel or available as a module,
depending on your choice during kernel config. You may still need to create depending on your choice during kernel config. You may still need to create
the device nodes by calling the Makedevs.sh script (see below) manually, the device nodes by calling the Makedevs.sh script (see below) manually.
unless you use a devfs kernel, where this won't be needed.
To load your module, you may use the command To load your module, you may use the command
modprobe osst modprobe osst
......
...@@ -57,11 +57,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. ...@@ -57,11 +57,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
- Default: 1 - Default: 1
- For auto-loading more than one card, specify this - For auto-loading more than one card, specify this
option together with snd-card-X aliases. option together with snd-card-X aliases.
device_mode
- permission mask for dynamic sound device filesystem
- This is available only when DEVFS is enabled
- Default: 0666
- E.g.: device_mode=0660
Module snd-pcm-oss Module snd-pcm-oss
...@@ -1915,21 +1910,6 @@ Please note that the device mapping above may be varied via the module ...@@ -1915,21 +1910,6 @@ Please note that the device mapping above may be varied via the module
options of snd-pcm-oss module. options of snd-pcm-oss module.
DEVFS support
=============
The ALSA driver fully supports the devfs extension.
You should add lines below to your devfsd.conf file:
LOOKUP snd MODLOAD ACTION snd
REGISTER ^sound/.* PERMISSIONS root.audio 660
REGISTER ^snd/.* PERMISSIONS root.audio 660
Warning: These lines assume that you have the audio group in your system.
Otherwise replace audio word with another group name (root for
example).
Proc interfaces (/proc/asound) Proc interfaces (/proc/asound)
============================== ==============================
......
...@@ -157,7 +157,7 @@ ...@@ -157,7 +157,7 @@
13. What to do when UML doesn't work 13. What to do when UML doesn't work
13.1 Strange compilation errors when you build from source 13.1 Strange compilation errors when you build from source
13.2 UML hangs on boot after mounting devfs 13.2 (obsolete)
13.3 A variety of panics and hangs with /tmp on a reiserfs filesystem 13.3 A variety of panics and hangs with /tmp on a reiserfs filesystem
13.4 The compile fails with errors about conflicting types for 'open', 'dup', and 'waitpid' 13.4 The compile fails with errors about conflicting types for 'open', 'dup', and 'waitpid'
13.5 UML doesn't work when /tmp is an NFS filesystem 13.5 UML doesn't work when /tmp is an NFS filesystem
...@@ -379,31 +379,6 @@ ...@@ -379,31 +379,6 @@
bug fixes and enhancements that have gone into subsequent releases. bug fixes and enhancements that have gone into subsequent releases.
If you build your own kernel, and want to boot it from one of the
filesystems distributed from this site, then, in nearly all cases,
devfs must be compiled into the kernel and mounted at boot time. The
exception is the SuSE filesystem. For this, devfs must either not be
in the kernel at all, or "devfs=nomount" must be on the kernel command
line. Any disagreement between the kernel and the filesystem being
booted about whether devfs is being used will result in the boot
getting no further than single-user mode.
If you don't want to use devfs, you can remove the need for it from a
filesystem by copying /dev from someplace, making a bunch of /dev/ubd
devices:
UML# for i in 0 1 2 3 4 5 6 7; do mknod ubd$i b 98 $i; done
and changing /etc/fstab and /etc/inittab to refer to the non-devfs
devices.
22..22.. CCoommppiilliinngg aanndd iinnssttaalllliinngg kkeerrnneell mmoodduulleess 22..22.. CCoommppiilliinngg aanndd iinnssttaalllliinngg kkeerrnneell mmoodduulleess
UML modules are built in the same way as the native kernel (with the UML modules are built in the same way as the native kernel (with the
...@@ -839,9 +814,7 @@ ...@@ -839,9 +814,7 @@
+o None - device=none +o None - device=none
This causes the device to disappear. If you are using devfs, the This causes the device to disappear.
device will not appear in /dev. If not, then attempts to open it
will return -ENODEV.
...@@ -3898,29 +3871,6 @@ ...@@ -3898,29 +3871,6 @@
1133..22.. UUMMLL hhaannggss oonn bboooott aafftteerr mmoouunnttiinngg ddeevvffss
The boot looks like this:
VFS: Mounted root (ext2 filesystem) readonly.
Mounted devfs on /dev
You're probably running a recent distribution on an old machine. I
saw this with the RH7.1 filesystem running on a Pentium. The shared
library loader, ld.so, was executing an instruction (cmove) which the
Pentium didn't support. That instruction was apparently added later.
If you run UML under the debugger, you'll see the hang caused by one
instruction causing an infinite SIGILL stream.
The fix is to boot UML on an older filesystem.
1133..33.. AA vvaarriieettyy ooff ppaanniiccss aanndd hhaannggss wwiitthh //ttmmpp oonn aa rreeiisseerrffss ffiilleessyyss-- 1133..33.. AA vvaarriieettyy ooff ppaanniiccss aanndd hhaannggss wwiitthh //ttmmpp oonn aa rreeiisseerrffss ffiilleessyyss--
tteemm tteemm
......
...@@ -49,20 +49,6 @@ Abstract Control Model (USB CDC ACM) specification. ...@@ -49,20 +49,6 @@ Abstract Control Model (USB CDC ACM) specification.
Unfortunately many modems and most ISDN TAs use proprietary interfaces and Unfortunately many modems and most ISDN TAs use proprietary interfaces and
thus won't work with this drivers. Check for ACM compliance before buying. thus won't work with this drivers. Check for ACM compliance before buying.
The driver (with devfs) creates these devices in /dev/usb/acm:
crw-r--r-- 1 root root 166, 0 Apr 1 10:49 0
crw-r--r-- 1 root root 166, 1 Apr 1 10:49 1
crw-r--r-- 1 root root 166, 2 Apr 1 10:49 2
And so on, up to 31, with the limit being possible to change in acm.c to up
to 256, so you can use up to 256 USB modems with one computer (you'll need
three USB cards for that, though).
If you don't use devfs, then you can create device nodes with the same
minor/major numbers anywhere you want, but either the above location or
/dev/usb/ttyACM0 is preferred.
To use the modems you need these modules loaded: To use the modems you need these modules loaded:
usbcore.ko usbcore.ko
......
...@@ -13,7 +13,6 @@ CONFIGURATION ...@@ -13,7 +13,6 @@ CONFIGURATION
Currently the driver can handle up to 256 different serial interfaces at Currently the driver can handle up to 256 different serial interfaces at
one time. one time.
If you are not using devfs:
The major number that the driver uses is 188 so to use the driver, The major number that the driver uses is 188 so to use the driver,
create the following nodes: create the following nodes:
mknod /dev/ttyUSB0 c 188 0 mknod /dev/ttyUSB0 c 188 0
...@@ -26,10 +25,6 @@ CONFIGURATION ...@@ -26,10 +25,6 @@ CONFIGURATION
mknod /dev/ttyUSB254 c 188 254 mknod /dev/ttyUSB254 c 188 254
mknod /dev/ttyUSB255 c 188 255 mknod /dev/ttyUSB255 c 188 255
If you are using devfs:
The devices supported by this driver will show up as
/dev/usb/tts/{0,1,...}
When the device is connected and recognized by the driver, the driver When the device is connected and recognized by the driver, the driver
will print to the system log, which node(s) the device has been bound will print to the system log, which node(s) the device has been bound
to. to.
......
...@@ -207,8 +207,7 @@ config BLK_DEV_UMEM ...@@ -207,8 +207,7 @@ config BLK_DEV_UMEM
module will be called umem. module will be called umem.
The umem driver has not yet been allocated a MAJOR number, so The umem driver has not yet been allocated a MAJOR number, so
one is chosen dynamically. Use "devfs" or look in /proc/devices one is chosen dynamically.
for the device number
config BLK_DEV_UBD config BLK_DEV_UBD
bool "Virtual block device" bool "Virtual block device"
......
...@@ -41,10 +41,7 @@ Example to enable the 3780i DSP using ttyS1 resources: ...@@ -41,10 +41,7 @@ Example to enable the 3780i DSP using ttyS1 resources:
Accessing the driver Accessing the driver
-------------------- --------------------
You must also create a node for the driver. Without devfs: You must also create a node for the driver:
mkdir -p /dev/modems mkdir -p /dev/modems
mknod --mode=660 /dev/modems/mwave c 10 219 mknod --mode=660 /dev/modems/mwave c 10 219
With devfs:
mkdir -p /dev/modems
ln -s ../misc/mwave /dev/modems/mwave
...@@ -195,8 +195,7 @@ config RADIO_MIROPCM20_RDS ...@@ -195,8 +195,7 @@ config RADIO_MIROPCM20_RDS
---help--- ---help---
Choose Y here if you want to see RDS/RBDS information like Choose Y here if you want to see RDS/RBDS information like
RadioText, Programme Service name, Clock Time and date, Programme RadioText, Programme Service name, Clock Time and date, Programme
TYpe and Traffic Announcement/Programme identification. You also Type and Traffic Announcement/Programme identification.
need to say Y to "miroSOUND PCM20 radio" and devfs!
It's not possible to read the raw RDS packets from the device, so It's not possible to read the raw RDS packets from the device, so
the driver cant provide an V4L interface for this. But the the driver cant provide an V4L interface for this. But the
......
...@@ -175,8 +175,8 @@ dev_hint ...@@ -175,8 +175,8 @@ dev_hint
- If a device node is already occupied, registration will fail and - If a device node is already occupied, registration will fail and
the webcam is not available. the webcam is not available.
- You can have up to 64 video devices; be sure to make enough device - You can have up to 64 video devices; be sure to make enough device
nodes in /dev if you want to spread the numbers (this does not apply nodes in /dev if you want to spread the numbers.
to devfs). After /dev/video9 comes /dev/video10 (not /dev/videoA). After /dev/video9 comes /dev/video10 (not /dev/videoA).
- If a camera does not match any dev_hint, it will simply get assigned - If a camera does not match any dev_hint, it will simply get assigned
the first available device node, just as it used to be. the first available device node, just as it used to be.
......
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
* timer interrupts. We use a timer to periodically * timer interrupts. We use a timer to periodically
* reset 'stopped' watchdogs on affected platforms. * reset 'stopped' watchdogs on affected platforms.
* *
* TODO: DevFS support (/dev/watchdogs/0 ... /dev/watchdogs/2)
*
* Copyright (c) 2000 Eric Brower (ebrower@usa.net) * Copyright (c) 2000 Eric Brower (ebrower@usa.net)
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment