On Tue, Jul 28, 2009 at 06:36:01PM +0200, Janusz Krzysztofik wrote:
Tuesday 28 July 2009 18:11:32 Mark Brown wrote:
Like I say, I'd suggest always keeping the controls registered and just masking and unmasking from user space - the control indexes get used so removing them will just confuse things.
However, in order for the machine driver to unmask/mask a machine specific control, the codec driver must drop the machine driver a message about the line discipline being activeted/deactivated, right? The only such existing feedback I can see the codec is able to use is via snd_soc_init_card() that calls snd_soc_dai_link.init() in turn. Am I missing something?
Well, the machine driver can look up controls by name (this is going to be required in order to find the controls anyway...). Besides, given that the machine driver is already entirely CODEC-specific there'd no problem with it calling into CODEC-specific APIs to do things.