[alsa-devel] ASoC: Hiding unused CODEC mixer widgets in the machine driver

Mark Brown broonie at opensource.wolfsonmicro.com
Fri Aug 6 13:19:36 CEST 2010

On Fri, Aug 06, 2010 at 10:18:45AM +1000, Stuart Longland wrote:

> Work has continued on the TLV320AIC3204 CODEC driver, and there have
> been a number of fixes since the last patch was published.  However,
> this CODEC is a rather complicated beast to drive, some may find the
> controls a little unweildy, and as such, I was wondering if the machine
> driver could be used to abstract this for a given target?

The machine driver shouldn't be doing this - it's too fragile in the
face of any changes in the drivers and means hard coding use cases into
the kernel which is really bad practice since it's much slower than
doing things from user space and much harder to change as new needs

Much of this should be being handled by use case management anyway, even
the controls that actually exist usefully on a given system are normally
way more detail than end applications should ever be seeing.  See


for the API which should deal with that.  

We should still do the limiting in kernel for controls that are on paths
that can not connected be at all (since it makes life easier developing
use cases) but the major thing is the use case management.  Takashi has
a patch for hiding controls which could be built on to do this but
unfortunately it's been sitting in his sound-unstable tree rather than
included in mainline.

More information about the Alsa-devel mailing list