mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
add $driver subtitution
This commit is contained in:
parent
76bd9d319e
commit
fea9b2d292
10
udev.7
10
udev.7
@ -335,6 +335,16 @@ and
|
||||
\fBATTRS\fR.
|
||||
.RE
|
||||
.PP
|
||||
\fB$driver\fR, \fB%d\fR
|
||||
.RS 4
|
||||
The driver name of the device matched while searching the devpath upwards for
|
||||
\fBSUBSYSTEMS\fR,
|
||||
\fBKERNELS\fR,
|
||||
\fBDRIVERS\fR
|
||||
and
|
||||
\fBATTRS\fR.
|
||||
.RE
|
||||
.PP
|
||||
\fB$attr{\fR\fB\fIfile\fR\fR\fB}\fR, \fB%s{\fR\fB\fIfile\fR\fR\fB}\fR
|
||||
.RS 4
|
||||
The value of a sysfs attribute found at the device, where all keys of the rule have matched. If the matching device does not have such an attribute, all devices along the chain of parents are searched for a matching attribute. If the attribute is a symlink, the last element of the symlink target is returned as the value.
|
||||
|
9
udev.xml
9
udev.xml
@ -487,6 +487,15 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>$driver</option>, <option>%d</option></term>
|
||||
<listitem>
|
||||
<para>The driver name of the device matched while searching the devpath upwards for
|
||||
<option>SUBSYSTEMS</option>, <option>KERNELS</option>, <option>DRIVERS</option> and <option>ATTRS</option>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>$attr{<replaceable>file</replaceable>}</option>, <option>%s{<replaceable>file</replaceable>}</option></term>
|
||||
<listitem>
|
||||
|
@ -597,6 +597,7 @@ void udev_rules_apply_format(struct udevice *udev, char *string, size_t maxsize)
|
||||
SUBST_KERNEL,
|
||||
SUBST_KERNEL_NUMBER,
|
||||
SUBST_ID,
|
||||
SUBST_DRIVER,
|
||||
SUBST_MAJOR,
|
||||
SUBST_MINOR,
|
||||
SUBST_RESULT,
|
||||
@ -616,6 +617,7 @@ void udev_rules_apply_format(struct udevice *udev, char *string, size_t maxsize)
|
||||
{ .name = "number", .fmt = 'n', .type = SUBST_KERNEL_NUMBER },
|
||||
{ .name = "kernel", .fmt = 'k', .type = SUBST_KERNEL },
|
||||
{ .name = "id", .fmt = 'b', .type = SUBST_ID },
|
||||
{ .name = "driver", .fmt = 'd', .type = SUBST_DRIVER },
|
||||
{ .name = "major", .fmt = 'M', .type = SUBST_MAJOR },
|
||||
{ .name = "minor", .fmt = 'm', .type = SUBST_MINOR },
|
||||
{ .name = "result", .fmt = 'c', .type = SUBST_RESULT },
|
||||
@ -707,6 +709,12 @@ found:
|
||||
dbg("substitute id '%s'", udev->dev_parent->kernel);
|
||||
}
|
||||
break;
|
||||
case SUBST_DRIVER:
|
||||
if (udev->dev_parent != NULL) {
|
||||
strlcat(string, udev->dev_parent->driver, maxsize);
|
||||
dbg("substitute driver '%s'", udev->dev_parent->driver);
|
||||
}
|
||||
break;
|
||||
case SUBST_MAJOR:
|
||||
sprintf(temp2, "%d", major(udev->devt));
|
||||
strlcat(string, temp2, maxsize);
|
||||
|
Loading…
x
Reference in New Issue
Block a user