As promised, here's a patch set that allows you to use the PlaybackVolume and CaptureVolume values in UCM to specify ALSA controls to use for hardware volume control. The first two patches are a bit of refactoring that makes things a bit cleaner while managing extra device port data in the UCM case. The third patch implements the actual support for volume controls. Cheers, Arun