I have seen a few HDMIs which share the HDA controller with the onboard sound card, but the codecs are different, e g the onboard one is at address #0 and the HDMI is at address #3 - or even #3, #7, #8 and #9 in some cases.
Now, if the user specifies the device string hdmi:x (where x is card name/number), I'd like it to kind of autodetect this and use DEV=3 instead of DEV=0, and without breaking the cards where the hdmi is a separate card with a codec at address #0. However, it still seems like the device is at DEV=3 somehow.
Now, looking at /usr/share/alsa/cards/HDA-Intel.conf, I notice that there are entries HDA-Intel.pcm.hdmi.0 which sets DEV=3, so it seems like someone already thought of this. However, just using "hdmi:x" does not trigger "DEV=3". I'm still not grepping all of the alsa lisp architecture stuff, so could someone explain to me how the HDA-Intel.pcm.hdmi.0 entry relates to the "hdmi:x" alsa device string?