alsa-ucm: Make one input/output mapping per UCM device
Mappings having multiple UCM devices is a big source of complexity, both due to needing combination ports to use compatible devices, and for handling conflicting devices across different mappings. I tried to split devices into their own mappings here, by using the UCM device name (instead of PCM device string) in the mapping name.
This works fine in my dummy setup, and does not affect my chromebook (which already has no UCM devices sharing a PCM). But I have no idea if having multiple mappings for the same PCM is safe to do hardware-wise, and I have no suitable hardware to test on. So, I'm filing this for advice and marking it as a draft.
At the very least, I know this will break previously saved device volumes, which seems unavoidable to me. It will also make conflicting device handling temporarily worse by breaking the cases currently handled by the combination-port logic. That is, until a more general solution is merged.