aboutsummaryrefslogtreecommitdiff
path: root/rules
diff options
context:
space:
mode:
authorAdam Goode <agoode@google.com>2015-04-22 21:05:39 -0400
committerLennart Poettering <lennart@poettering.net>2015-04-23 13:40:54 +0200
commit5c0b72de3a092bff272640ae27cd960e660a3a3d (patch)
treeb35ef8b182145b3a335e8679844a625eb2a6909b /rules
parentrules: Don't use ALSA card id in ID_ID (diff)
downloadsystemd-5c0b72de3a092bff272640ae27cd960e660a3a3d.tar.gz
systemd-5c0b72de3a092bff272640ae27cd960e660a3a3d.tar.bz2
systemd-5c0b72de3a092bff272640ae27cd960e660a3a3d.zip
rules: Add more firewire properties for sound, to be closer to USB and PCI
USB and PCI soundcards have a nice set of ID_* properties. It would be handy for firewire soundcards to have the same. Note that this removes the explicit setting of ID_ID in the firewire conditional. Because we are now setting ID_SERIAL, ID_ID will come from later in the file.
Diffstat (limited to 'rules')
-rw-r--r--rules/78-sound-card.rules9
1 files changed, 6 insertions, 3 deletions
diff --git a/rules/78-sound-card.rules b/rules/78-sound-card.rules
index bd7a9948c..04740e8b9 100644
--- a/rules/78-sound-card.rules
+++ b/rules/78-sound-card.rules
@@ -41,14 +41,17 @@ IMPORT{builtin}="hwdb"
SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
SUBSYSTEMS=="usb", GOTO="skip_pci"
-SUBSYSTEMS=="firewire", ATTRS{vendor_name}=="?*", ATTRS{model_name}=="?*", \
- ENV{ID_BUS}="firewire", ENV{ID_VENDOR}="$attr{vendor_name}", ENV{ID_MODEL}="$attr{model_name}"
-SUBSYSTEMS=="firewire", ATTRS{guid}=="?*", ENV{ID_ID}="firewire-$attr{guid}"
+SUBSYSTEMS=="firewire", ATTRS{guid}=="?*", \
+ ENV{ID_BUS}="firewire", ENV{ID_SERIAL}="$attr{guid}", ENV{ID_SERIAL_SHORT}="$attr{guid}", \
+ ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{model}", \
+ ENV{ID_VENDOR}="$attr{vendor_name}", ENV{ID_MODEL}="$attr{model_name}"
SUBSYSTEMS=="firewire", GOTO="skip_pci"
SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
LABEL="skip_pci"
+# Define ID_ID if ID_BUS and ID_SERIAL are set. This will work for both
+# USB and firewire.
ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}"
ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}"