diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-03-01 19:53:46 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-03-01 20:16:30 +0100 |
commit | 159f5ec053836995ae28c1b0bdb0a998b69ab208 (patch) | |
tree | 12420ce1917d2db8de74c38054a840d5886ffb4c /rules.d | |
parent | 674aa8dc7b81cc4b49310cdbd4ff64efb92802e5 (diff) |
Unify all form factor information into a single environment variable
Simplify the form factor rules by using only a single environment
variable $SOUND_FORM_FACTOR instead of multiple boolean variables.
Also, make "internal" a normal type of form factor among many. After all
whether a sound card is internal or not is *not* orthogonal to its form
factor otherwise.
Diffstat (limited to 'rules.d')
-rw-r--r-- | rules.d/78-sound-card.rules | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/rules.d/78-sound-card.rules b/rules.d/78-sound-card.rules index 82ed045..a2cd5af 100644 --- a/rules.d/78-sound-card.rules +++ b/rules.d/78-sound-card.rules @@ -9,35 +9,39 @@ SUBSYSTEMS=="usb", ENV{ID_MODEL_FROM_DATABASE}=="", IMPORT{program}="usb-db %p" SUBSYSTEMS=="usb", GOTO="skip_pci" SUBSYSTEMS=="pci", ENV{ID_MODEL_FROM_DATABASE}=="", IMPORT{program}="pci-db %p" -SUBSYSTEMS=="pci", DEVPATH=="*/0000:00:??.?/sound/*", ENV{SOUND_ONBOARD}="1" - SUBSYSTEMS=="pci", ENV{ID_BUS}="pci" +# The values used here for $SOUND_FORM_FACTOR should be kept in sync +# with those defined for PulseAudio's src/pulse/proplist.h +# PA_PROP_DEVICE_FORM_FACTOR property. + +SUBSYSTEMS=="pci", DEVPATH=="*/0000:00:??.?/sound/*", ENV{SOUND_FORM_FACTOR}="internal", GOTO="sound_end" + LABEL="skip_pci" # Hmm, do we really want this database here? -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0311", ENV{SOUND_FORM_FACTOR_WEBCAM}="1", GOTO="sound_end" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0311", ENV{SOUND_FORM_FACTOR}="webcam", GOTO="sound_end" # Devices that also support Image/Video interfaces are most likely webcams -SUBSYSTEMS=="usb", ENV{ID_USB_INTERFACES}=="*:0e????:*", ENV{SOUND_FORM_FACTOR_WEBCAM}="1", GOTO="sound_end" +SUBSYSTEMS=="usb", ENV{ID_USB_INTERFACES}=="*:0e????:*", ENV{SOUND_FORM_FACTOR}="webcam", GOTO="sound_end" # Yepp, this is ugly: -ENV{ID_MODEL}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR_SPEAKER}="1", GOTO="sound_end" -ENV{ID_MODEL_FROM_DATABASE}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR_SPEAKER}="1", GOTO="sound_end" +ENV{ID_MODEL}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR}="speaker", GOTO="sound_end" +ENV{ID_MODEL_FROM_DATABASE}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR}="speaker", GOTO="sound_end" -ENV{ID_MODEL}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR_HEADPHONE}="1", GOTO="sound_end" -ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR_HEADPHONE}="1", GOTO="sound_end" +ENV{ID_MODEL}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR}="headphone", GOTO="sound_end" +ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR}="headphone", GOTO="sound_end" -ENV{ID_MODEL}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR_HEADSET}="1", GOTO="sound_end" -ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR_HEADSET}="1", GOTO="sound_end" +ENV{ID_MODEL}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR}="headset", GOTO="sound_end" +ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR}="headset", GOTO="sound_end" -ENV{ID_MODEL}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR_HANDSET}="1", GOTO="sound_end" -ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR_HANDSET}="1", GOTO="sound_end" +ENV{ID_MODEL}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR}="handset", GOTO="sound_end" +ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR}="handset", GOTO="sound_end" -ENV{ID_MODEL}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR_MICROPHONE}="1", GOTO="sound_end" -ENV{ID_MODEL_FROM_DATABASE}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR_MICROPHONE}="1", GOTO="sound_end" +ENV{ID_MODEL}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR}="microphone", GOTO="sound_end" +ENV{ID_MODEL_FROM_DATABASE}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR}="microphone", GOTO="sound_end" LABEL="sound_end" |