
On Fri, 2010-08-06 at 12:34 +0100, Liam Girdwood wrote:
On Fri, 2010-08-06 at 12:19 +0100, Mark Brown wrote:
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 arise.
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
http://www.slimlogic.co.uk/?p=40
for the API which should deal with that.
Please do give UCM (Use Case Manager) a test drive. We are in the late development / early testing phase before upstreaming (still one or two things todo).
You will need to checkout the use-case-verb branches of :-
git://git.slimlogic.co.uk/alsa-lib.git
git://git.slimlogic.co.uk/alsa-utils.git
There is a tool called alsaucm that allows changing the use case from the command line. Best to use it's interactive (-i) mode atm.
There is also an initial repository for UCM use case configuration files here :-
git://git.slimlogic.co.uk/alsa-ucm-conf.git
This will show the format required to describe use cases.
Forgot to add that patches are most welcome.
Thanks
Liam