diff options
-rw-r--r-- | udev.7 | 5 | ||||
-rw-r--r-- | udev.xml | 7 | ||||
-rw-r--r-- | udev_rules.c | 6 |
3 files changed, 18 insertions, 0 deletions
@@ -362,6 +362,11 @@ The node name of the parent device. The udev_root value. .RE .PP +\fB$sys\fR, \fB%S\fR +.RS 4 +The sysfs mount point. +.RE +.PP \fB$tempnode\fR, \fB%N\fR .RS 4 The name of a created temporary device node to provide access to the device from a external program before the real node is created. @@ -530,6 +530,13 @@ </varlistentry> <varlistentry> + <term><option>$sys</option>, <option>%S</option></term> + <listitem> + <para>The sysfs mount point.</para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>$tempnode</option>, <option>%N</option></term> <listitem> <para>The name of a created temporary device node to provide access to diff --git a/udev_rules.c b/udev_rules.c index 1139c99a7d..e61c9a69b0 100644 --- a/udev_rules.c +++ b/udev_rules.c @@ -292,6 +292,7 @@ void udev_rules_apply_format(struct udevice *udev, char *string, size_t maxsize) SUBST_PARENT, SUBST_TEMP_NODE, SUBST_ROOT, + SUBST_SYS, SUBST_ENV, }; static const struct subst_map { @@ -311,6 +312,7 @@ void udev_rules_apply_format(struct udevice *udev, char *string, size_t maxsize) { .name = "parent", .fmt = 'P', .type = SUBST_PARENT }, { .name = "tempnode", .fmt = 'N', .type = SUBST_TEMP_NODE }, { .name = "root", .fmt = 'r', .type = SUBST_ROOT }, + { .name = "sys", .fmt = 'S', .type = SUBST_SYS }, { .name = "env", .fmt = 'E', .type = SUBST_ENV }, { NULL, '\0', 0 } }; @@ -516,6 +518,10 @@ found: strlcat(string, udev_root, maxsize); dbg("substitute udev_root '%s'", udev_root); break; + case SUBST_SYS: + strlcat(string, sysfs_path, maxsize); + dbg("substitute sysfs_path '%s'", sysfs_path); + break; case SUBST_ENV: if (attr == NULL) { dbg("missing attribute"); |