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.
---
rules/78-sound-card.rules | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/rules/78-sound-card.rules b/rules/78-sound-card.rules
index bd7a994..04740e8 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}
--
2.2.0.rc0.207.ga3a616c
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel