[PATCH] cleanup man & remove symlink comment
remove "want symlinks" text from udev-add.c mention SYMLINK in man page man page format cleanup man page example for SYMLINK
This commit is contained in:
parent
7d27ce1dc0
commit
c6c13c3181
|
@ -54,18 +54,15 @@
|
||||||
static int get_major_minor(struct sysfs_class_device *class_dev, struct udevice *udev)
|
static int get_major_minor(struct sysfs_class_device *class_dev, struct udevice *udev)
|
||||||
{
|
{
|
||||||
int retval = -ENODEV;
|
int retval = -ENODEV;
|
||||||
|
|
||||||
char *dev;
|
char *dev;
|
||||||
|
|
||||||
dev = sysfs_get_value_from_attributes(class_dev->directory->attributes, "dev");
|
dev = sysfs_get_value_from_attributes(class_dev->directory->attributes, "dev");
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
dbg("dev='%s'", dev);
|
dbg("dev='%s'", dev);
|
||||||
|
|
||||||
if (sscanf(dev, "%u:%u", &udev->major, &udev->minor) != 2)
|
if (sscanf(dev, "%u:%u", &udev->major, &udev->minor) != 2)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
dbg("found major=%d, minor=%d", udev->major, udev->minor);
|
dbg("found major=%d, minor=%d", udev->major, udev->minor);
|
||||||
|
|
||||||
retval = 0;
|
retval = 0;
|
||||||
|
@ -101,10 +98,6 @@ static int create_path(char *file)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* we possibly want to add some symlinks here
|
|
||||||
* only numeric owner/group id's are supported
|
|
||||||
*/
|
|
||||||
static int create_node(struct udevice *dev)
|
static int create_node(struct udevice *dev)
|
||||||
{
|
{
|
||||||
char filename[255];
|
char filename[255];
|
||||||
|
@ -116,7 +109,6 @@ static int create_node(struct udevice *dev)
|
||||||
int i;
|
int i;
|
||||||
int tail;
|
int tail;
|
||||||
|
|
||||||
|
|
||||||
strncpy(filename, udev_root, sizeof(filename));
|
strncpy(filename, udev_root, sizeof(filename));
|
||||||
strncat(filename, dev->name, sizeof(filename));
|
strncat(filename, dev->name, sizeof(filename));
|
||||||
|
|
||||||
|
@ -239,7 +231,6 @@ static struct sysfs_class_device *get_class_dev(char *device_name)
|
||||||
|
|
||||||
strcpy(dev_path, sysfs_path);
|
strcpy(dev_path, sysfs_path);
|
||||||
strcat(dev_path, device_name);
|
strcat(dev_path, device_name);
|
||||||
|
|
||||||
dbg("looking at '%s'", dev_path);
|
dbg("looking at '%s'", dev_path);
|
||||||
|
|
||||||
/* open up the sysfs class device for this thing... */
|
/* open up the sysfs class device for this thing... */
|
||||||
|
|
59
udev.8
59
udev.8
|
@ -63,7 +63,7 @@ permissions file. The default value for this is
|
||||||
.I 0666
|
.I 0666
|
||||||
.br
|
.br
|
||||||
.P
|
.P
|
||||||
A sample \fIudev.conf\fP might look like this:
|
.RI "A sample " udev.conf " might look like this:
|
||||||
.sp
|
.sp
|
||||||
.nf
|
.nf
|
||||||
# udev_root - where in the filesystem to place the device nodes
|
# udev_root - where in the filesystem to place the device nodes
|
||||||
|
@ -85,7 +85,7 @@ default_mode="0666"
|
||||||
.P
|
.P
|
||||||
The rules for udev to use when naming devices may specified at
|
The rules for udev to use when naming devices may specified at
|
||||||
.I /etc/udev/udev.rules
|
.I /etc/udev/udev.rules
|
||||||
or specified by the
|
or specified by the
|
||||||
.I udev_rules
|
.I udev_rules
|
||||||
value in the
|
value in the
|
||||||
.I /etc/udev/udev.conf
|
.I /etc/udev/udev.conf
|
||||||
|
@ -94,73 +94,73 @@ file.
|
||||||
Every line in the rules file define the mapping between device attributes and
|
Every line in the rules file define the mapping between device attributes and
|
||||||
the device file name. It starts with a keyword defining the method used to
|
the device file name. It starts with a keyword defining the method used to
|
||||||
match, followed by one ore more keys to compare and the filename for the
|
match, followed by one ore more keys to compare and the filename for the
|
||||||
device. If no matching configuration is found, the default kernel device name
|
device. Optional the name for a symlink targeting the node may specified.
|
||||||
|
.br
|
||||||
|
If no matching configuration is found, the default kernel device name
|
||||||
is used.
|
is used.
|
||||||
.P
|
.P
|
||||||
The line format is:
|
The line format is:
|
||||||
.sp
|
.sp
|
||||||
.I method, key,[key,...] name
|
.I method, key,[key,...] name [, symlink]
|
||||||
.sp
|
.sp
|
||||||
where valid methods with corresponding keys are:
|
where valid methods with corresponding keys are:
|
||||||
.TP
|
.TP
|
||||||
.B CALLOUT
|
.B CALLOUT
|
||||||
calling external program, that returns a string to match
|
calling external program, that returns a string to match
|
||||||
.br
|
.br
|
||||||
keys: \fBBUS\fP, \fBPROGRAM\fP, \fBID\fP
|
.RB "keys: " BUS ", " PROGRAM ", " ID
|
||||||
.TP
|
.TP
|
||||||
.B LABEL
|
.B LABEL
|
||||||
device label or serial number, like USB serial number, SCSI UUID or
|
device label or serial number, like USB serial number, SCSI UUID or
|
||||||
file system label
|
file system label
|
||||||
.br
|
.br
|
||||||
keys: \fBBUS\fP, \fIsysfs_attribute\fP
|
.RB "keys: " BUS ", "
|
||||||
|
.I sysfs_attribute
|
||||||
.TP
|
.TP
|
||||||
.B NUMBER
|
.B NUMBER
|
||||||
device number on the bus, like PCI bus id
|
device number on the bus, like PCI bus id
|
||||||
.br
|
.br
|
||||||
keys: \fBBUS\fP, \fBID\fP
|
.RB "keys: " BUS ", " ID
|
||||||
.TP
|
.TP
|
||||||
.B TOPOLOGY
|
.B TOPOLOGY
|
||||||
device position on bus, like physical port of USB device
|
device position on bus, like physical port of USB device
|
||||||
.br
|
.br
|
||||||
keys: \fBBUS\fP, \fBPLACE\fP
|
.RB "keys: " BUS ", " PLACE
|
||||||
.TP
|
.TP
|
||||||
.B REPLACE
|
.B REPLACE
|
||||||
string replacement of the kernel device name
|
string replacement of the kernel device name
|
||||||
.br
|
.br
|
||||||
key: \fBKERNEL_NAME\fP
|
.RB "key: " KERNEL_NAME
|
||||||
.P
|
.P
|
||||||
The methods are applied in the following order:
|
The methods are applied in the following order:
|
||||||
.BR CALLOUT ", " LABEL ", " NUMBER ", " TOPOLOGY ", " REPLACE "."
|
.BR CALLOUT ", " LABEL ", " NUMBER ", " TOPOLOGY ", " REPLACE "."
|
||||||
.P
|
.P
|
||||||
The
|
.RB "The " NAME " ," SYMLINK " and " PROGRAM
|
||||||
.B NAME
|
|
||||||
and
|
|
||||||
.B PROGRAM
|
|
||||||
fields support simple printf-like string substitution:
|
fields support simple printf-like string substitution:
|
||||||
.TP
|
.TP
|
||||||
.B %n
|
.B %n
|
||||||
the "kernel number" of the device
|
The "kernel number" of the device.
|
||||||
for example, 'sda3' has a "kernel number" of '3'
|
for example, 'sda3' has a "kernel number" of '3'
|
||||||
.TP
|
.TP
|
||||||
.B %M
|
.B %M
|
||||||
the kernel major number for the device
|
The kernel major number for the device.
|
||||||
.TP
|
.TP
|
||||||
.B %m
|
.B %m
|
||||||
the kernel minor number for the device
|
The kernel minor number for the device.
|
||||||
.TP
|
.TP
|
||||||
.B %b
|
.B %b
|
||||||
the bus id for the device
|
The bus id for the device.
|
||||||
.TP
|
.TP
|
||||||
.B %c
|
.B %c
|
||||||
the CALLOUT program returned string
|
The CALLOUT program returned string.
|
||||||
(this does not work within the PROGRAM field for the obvious reason.)
|
(This does not work within the PROGRAM field for the obvious reason.)
|
||||||
.TP
|
.TP
|
||||||
.B %D
|
.B %D
|
||||||
Use the devfs style disk name for this device.
|
Use the devfs style disk name for this device.
|
||||||
For partitions, this will result in 'part%n'
|
For partitions, this will result in 'part%n'
|
||||||
If this is not a partition, it will result in 'disk'
|
If this is not a partition, it will result in 'disk'.
|
||||||
.P
|
.P
|
||||||
A sample \fIudev.rules\fP might look like this:
|
.RI "A sample " udev.rules " might look like this:"
|
||||||
.sp
|
.sp
|
||||||
.nf
|
.nf
|
||||||
# if /sbin/scsi_id returns "OEM 0815" device will be called disk1
|
# if /sbin/scsi_id returns "OEM 0815" device will be called disk1
|
||||||
|
@ -178,15 +178,15 @@ TOPOLOGY, BUS="usb", PLACE="2.3", NAME="mouse1"
|
||||||
# ttyUSB1 should always be called pda
|
# ttyUSB1 should always be called pda
|
||||||
REPLACE, KERNEL="ttyUSB1", NAME="pda"
|
REPLACE, KERNEL="ttyUSB1", NAME="pda"
|
||||||
|
|
||||||
# USB webcams to be called webcam0, webcam1, ...
|
# USB webcams with symlinks to be called webcam0, webcam1, ...
|
||||||
LABEL, BUS="usb", model="WebCam Version 3", NAME="webcam%n"
|
LABEL, BUS="usb", model="WebCam Version 3", NAME="video%n", SYMLINK="webcam%n"
|
||||||
.fi
|
.fi
|
||||||
.P
|
.P
|
||||||
Permissions and ownership for the created device files may specified at
|
Permissions and ownership for the created device files may specified at
|
||||||
.I /etc/udev/udev.permissions
|
.I /etc/udev/udev.permissions
|
||||||
or specified by the
|
or specified by the
|
||||||
.I udev_permission
|
.I udev_permission
|
||||||
value in the
|
value in the
|
||||||
.I /etc/udev/udev.conf
|
.I /etc/udev/udev.conf
|
||||||
file.
|
file.
|
||||||
.br
|
.br
|
||||||
|
@ -197,10 +197,9 @@ pattern to apply the values to a whole class of devices.
|
||||||
If
|
If
|
||||||
.B udev
|
.B udev
|
||||||
was built using klibc or is used before the user database is accessible (e.g.
|
was built using klibc or is used before the user database is accessible (e.g.
|
||||||
.B initrd
|
.BR initrd "(4)), only numeric owner and group values may be used."
|
||||||
), only numeric owner and group values may be used.
|
|
||||||
.sp
|
.sp
|
||||||
A sample \fIudev.permissions\fP might look like this:
|
.RI "A sample " udev.permissions " might look like this:"
|
||||||
.sp
|
.sp
|
||||||
.nf
|
.nf
|
||||||
#name:user:group:mode
|
#name:user:group:mode
|
||||||
|
@ -227,8 +226,6 @@ the range of all digits, the pattern [0-9] would be used. If the first character
|
||||||
following the '[' is a '!' then any character not enclosed is matched.
|
following the '[' is a '!' then any character not enclosed is matched.
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
.nf
|
.nf
|
||||||
.ft B
|
|
||||||
.ft
|
|
||||||
/sbin/udev udev program
|
/sbin/udev udev program
|
||||||
/etc/udev/* udev config files
|
/etc/udev/* udev config files
|
||||||
/etc/hotplug.d/default/udev.hotplug hotplug symlink to udev program
|
/etc/hotplug.d/default/udev.hotplug hotplug symlink to udev program
|
||||||
|
|
Loading…
Reference in New Issue