summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2008-11-20 02:26:13 +0100
committerKay Sievers <kay.sievers@vrfy.org>2008-11-20 02:26:13 +0100
commit24239ded2d7a152d1c428880ae2cf82d904a350d (patch)
treec45f55645ed8154b1ced4610f4f588058663b946
parent874c43e42af96a43ff4983feeb91c1e6334eff6a (diff)
rules: v4l - add by-id/ links for USB devices
/dev/v4l |-- by-id | |-- usb-046d_09a4_C4B15020-video-index0 -> ../../video0 | `-- usb-05a9_a511-video-index0 -> ../../video1 `-- by-path |-- pci-0000:00:1d.0-usb-0:1:1.0-video-index0 -> ../../video1 `-- pci-0000:00:1d.7-usb-0:2:1.0-video-index0 -> ../../video0
-rw-r--r--extras/usb_id/usb_id.c4
-rw-r--r--rules/rules.d/60-persistent-v4l.rules3
2 files changed, 6 insertions, 1 deletions
diff --git a/extras/usb_id/usb_id.c b/extras/usb_id/usb_id.c
index 6dd1d450fb..00d8a4c139 100644
--- a/extras/usb_id/usb_id.c
+++ b/extras/usb_id/usb_id.c
@@ -70,7 +70,9 @@ static void set_usb_iftype(char *to, int if_class_num, size_t len)
case 0x0a: /* CDC-Data */
case 0x0b: /* Chip/Smart Card */
case 0x0d: /* Content Security */
- case 0x0e: /* Video */
+ case 0x0e:
+ type = "video";
+ break;
case 0xdc: /* Diagnostic Device */
case 0xe0: /* Wireless Controller */
case 0xf2: /* Application-specific */
diff --git a/rules/rules.d/60-persistent-v4l.rules b/rules/rules.d/60-persistent-v4l.rules
index 0d673ab396..fb961b79e0 100644
--- a/rules/rules.d/60-persistent-v4l.rules
+++ b/rules/rules.d/60-persistent-v4l.rules
@@ -3,6 +3,9 @@
ACTION!="add|change", GOTO="persistent_v4l_end"
SUBSYSTEM!="video4linux", GOTO="persistent_v4l_end"
+SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export"
+KERNEL=="video*", ENV{ID_SERIAL}=="?*", SYMLINK+="v4l/by-id/$env{ID_BUS}-$env{ID_SERIAL}-video-index$attr{index}"
+
# check for valid "index" number
TEST!="index", GOTO="persistent_v4l_end"
ATTR{index}!="?*", GOTO="persistent_v4l_end"