I'm getting a bit confused about how mixers and
special harware controls (like
GPIOs) are implemented in ALSA(0.9.0) :
What is the difference between /proc/asound/dev/controlC0 and /proc/asound/dev
/mixerC0 ?
the mixer is a device/API that is specifically tailored to controlling
aspects of signal routing, gain etc.
the control is a device/API that is a general purpose method of
controlling any and all aspects of the interface's configuration.
the mixer device/API is built on top of the control API.
which controls are available is decided by the author of the device
driver.
Basically, what for should I open the controlC0 device
? (mixer settings, powe
r management ? )and do I need to implement a mixerCx device ?
you do not need a mixer device. application developers are warned that
ALSA devices are not guaranteed to have any or all of PCM devices,
MIDI, mixers, etc.etc.
Should controlC0 be used for lowlevel settings global
to the board, while hwC?
D? would be for proprietary hardware control on a given IO ?
the control interface is used for things that fit neatly into the
control paradigm of N-valued switches and settings.
the hwdep interface is used for other stuff (h/w specific sample
loading, firmware reloads, etc. etc.)
--p