mirror of https://gitee.com/openkylin/linux.git
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: Adrian Bunk <bunk@stusta.de>
This commit is contained in:
parent
0a8fe0d756
commit
bf6ee0ae49
|
@ -314,8 +314,7 @@
|
|||
<emphasis>usbdevfs</emphasis> although it wasn't solving what
|
||||
<emphasis>devfs</emphasis> was.
|
||||
Every USB device will appear in usbfs, regardless of whether or
|
||||
not it has a kernel driver; but only devices with kernel drivers
|
||||
show up in devfs.
|
||||
not it has a kernel driver.
|
||||
</para>
|
||||
|
||||
<sect1>
|
||||
|
|
|
@ -224,13 +224,8 @@ static int skel_probe(struct usb_interface *interface,
|
|||
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
|
||||
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
|
||||
itself from the devfs subsystem with the call:
|
||||
pending urbs that are in the USB system.
|
||||
</para>
|
||||
<programlisting>
|
||||
/* remove our devfs node */
|
||||
devfs_unregister(skel->devfs);
|
||||
</programlisting>
|
||||
<para>
|
||||
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
|
||||
|
|
|
@ -24,8 +24,8 @@ The SA1100 serial port had its major/minor numbers officially assigned:
|
|||
> 7 = /dev/cusa2 Callout device for ttySA2
|
||||
>
|
||||
|
||||
If you're not using devfs, you must create those inodes in /dev
|
||||
on the root filesystem used by your SA1100-based device:
|
||||
You must create those inodes in /dev on the root filesystem used
|
||||
by your SA1100-based device:
|
||||
|
||||
mknod ttySA0 c 204 5
|
||||
mknod ttySA1 c 204 6
|
||||
|
|
|
@ -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
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
8. ip2mkdev shell script
|
||||
7. ip2mkdev shell script
|
||||
|
||||
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.
|
||||
|
|
|
@ -26,8 +26,6 @@ cramfs.txt
|
|||
- info on the cram filesystem for small storage (ROMs etc).
|
||||
dentry-locking.txt
|
||||
- info on the RCU-based dcache locking model.
|
||||
devfs/
|
||||
- directory containing devfs documentation.
|
||||
directory-locking
|
||||
- info about the locking scheme used for directory operations.
|
||||
dlmfs.txt
|
||||
|
|
|
@ -39,7 +39,7 @@ tmpfs has the following uses:
|
|||
tmpfs /dev/shm tmpfs defaults 0 0
|
||||
|
||||
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
|
||||
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:
|
|||
|
||||
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
|
||||
created automatically. The commands to do create it by hand are:
|
||||
This device has to be created.
|
||||
The commands to create it by hand are:
|
||||
|
||||
cd /dev
|
||||
mkdir input
|
||||
|
|
|
@ -60,7 +60,7 @@ and install it before going on.
|
|||
|
||||
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:
|
||||
|
||||
cd /dev
|
||||
|
|
|
@ -290,17 +290,6 @@
|
|||
Description: Very nice 92 pages GPL book on the topic of modules
|
||||
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"
|
||||
Author: Richard Gooch.
|
||||
URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html
|
||||
|
|
|
@ -111,9 +111,7 @@ Here are the installation steps in detail:
|
|||
config3270.sh. Inspect the output script it produces,
|
||||
/tmp/mkdev3270, and then run that script. This will create the
|
||||
necessary character special device files and make the necessary
|
||||
changes to /etc/inittab. If you have selected DEVFS, the driver
|
||||
itself creates the device files, and /tmp/mkdev3270 only changes
|
||||
/etc/inittab.
|
||||
changes to /etc/inittab.
|
||||
|
||||
Then notify /sbin/init that /etc/inittab has changed, by issuing
|
||||
the telinit command with the q operand:
|
||||
|
|
|
@ -56,8 +56,7 @@ Compile your kernel and install the modules.
|
|||
|
||||
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
|
||||
the device nodes by calling the Makedevs.sh script (see below) manually,
|
||||
unless you use a devfs kernel, where this won't be needed.
|
||||
the device nodes by calling the Makedevs.sh script (see below) manually.
|
||||
|
||||
To load your module, you may use the command
|
||||
modprobe osst
|
||||
|
|
|
@ -57,11 +57,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
|||
- Default: 1
|
||||
- For auto-loading more than one card, specify this
|
||||
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
|
||||
|
@ -1915,21 +1910,6 @@ Please note that the device mapping above may be varied via the 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)
|
||||
==============================
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@
|
|||
13. What to do when UML doesn't work
|
||||
|
||||
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.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
|
||||
|
@ -379,31 +379,6 @@
|
|||
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
|
||||
|
||||
UML modules are built in the same way as the native kernel (with the
|
||||
|
@ -839,9 +814,7 @@
|
|||
+o None - device=none
|
||||
|
||||
|
||||
This causes the device to disappear. If you are using devfs, the
|
||||
device will not appear in /dev. If not, then attempts to open it
|
||||
will return -ENODEV.
|
||||
This causes the device to disappear.
|
||||
|
||||
|
||||
|
||||
|
@ -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--
|
||||
tteemm
|
||||
|
||||
|
|
|
@ -49,20 +49,6 @@ Abstract Control Model (USB CDC ACM) specification.
|
|||
Unfortunately many modems and most ISDN TAs use proprietary interfaces and
|
||||
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:
|
||||
|
||||
usbcore.ko
|
||||
|
|
|
@ -13,7 +13,6 @@ CONFIGURATION
|
|||
Currently the driver can handle up to 256 different serial interfaces at
|
||||
one time.
|
||||
|
||||
If you are not using devfs:
|
||||
The major number that the driver uses is 188 so to use the driver,
|
||||
create the following nodes:
|
||||
mknod /dev/ttyUSB0 c 188 0
|
||||
|
@ -26,10 +25,6 @@ CONFIGURATION
|
|||
mknod /dev/ttyUSB254 c 188 254
|
||||
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
|
||||
will print to the system log, which node(s) the device has been bound
|
||||
to.
|
||||
|
|
|
@ -207,8 +207,7 @@ config BLK_DEV_UMEM
|
|||
module will be called umem.
|
||||
|
||||
The umem driver has not yet been allocated a MAJOR number, so
|
||||
one is chosen dynamically. Use "devfs" or look in /proc/devices
|
||||
for the device number
|
||||
one is chosen dynamically.
|
||||
|
||||
config BLK_DEV_UBD
|
||||
bool "Virtual block device"
|
||||
|
|
|
@ -41,10 +41,7 @@ Example to enable the 3780i DSP using ttyS1 resources:
|
|||
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
|
||||
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
|
|||
---help---
|
||||
Choose Y here if you want to see RDS/RBDS information like
|
||||
RadioText, Programme Service name, Clock Time and date, Programme
|
||||
TYpe and Traffic Announcement/Programme identification. You also
|
||||
need to say Y to "miroSOUND PCM20 radio" and devfs!
|
||||
Type and Traffic Announcement/Programme identification.
|
||||
|
||||
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
|
||||
|
|
|
@ -175,8 +175,8 @@ dev_hint
|
|||
- If a device node is already occupied, registration will fail and
|
||||
the webcam is not available.
|
||||
- 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
|
||||
to devfs). After /dev/video9 comes /dev/video10 (not /dev/videoA).
|
||||
nodes in /dev if you want to spread the numbers.
|
||||
After /dev/video9 comes /dev/video10 (not /dev/videoA).
|
||||
- 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.
|
||||
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
* timer interrupts. We use a timer to periodically
|
||||
* reset 'stopped' watchdogs on affected platforms.
|
||||
*
|
||||
* TODO: DevFS support (/dev/watchdogs/0 ... /dev/watchdogs/2)
|
||||
*
|
||||
* Copyright (c) 2000 Eric Brower (ebrower@usa.net)
|
||||
*/
|
||||
|
||||
|
|
Loading…
Reference in New Issue