I wrote alsa drivers for mycard by referring dummy.c sound drivers. My card doesnt support capture functionality. I defined playback operations but not capture operations to avoid capture support. My card driver resides along with other additional usb audio devices.
I have a issue with Master Volume control. When I use amixer to control the master volume, it applies for both palyback and capture streams. For capture amixer function snd_mixer_selem_has_capture_channel(elem, chn) returns true for both left and right channels. Because of this playback volume put operations is called for capture also. Since the same volume control operation is called for both playback and capture it makes volume controls applies twice (increments / decrements).
I modified snddevice script not to create capture devices and ensure the same @/dev/snd.
I need help to avoid / disable this capture support, so that snd_mixer_selem_has_capture_channel(elem, chn) return false for card playback channels.