> On 22. 4. 2022, at 15:06, Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Fri, Apr 22, 2022 at 02:53:54PM +0200, Martin Povišer wrote: > >>> Oh, I see - the speaker actually allows configuration of the slots >>> independently. Usually the left/right thing on mono devices only does >>> something for I2S where the bus clocking enforces that there be both >>> left and right channels. Either configuration is fine by me TBH, if you >>> can do that then you could just keep them mapped to the same channel >>> then mark the control as disabled since it should have no effect. > >> Well but is there some established way to mark a control as disabled? > > snd_ctl_activate_id(). Ha! Great. >> Another issue here is that if I disable it I can’t leave the routing >> control in it’s default value, which is ‘I2C Offset’ and makes the speaker >> amp ignore the slot mapping. > > Sure, that's fine - if a control genuinely has no effect it's fine to > hide it from userspace. The issue is where it's just that you don't see > the use, if the control demonstrably does nothing then that's fine. So I assume I can set the control from the machine driver then disable it. Anyway, good, this is what I meant earlier when I said the controls I want to hide are 'useless/confusing at best’. I must walk back that they are ‘dangerous at worst’, but I am glad we can hide them anyway. (Not all of them of course, ISENSE/VSENSE will not be hidden, neither the routing control on systems with single mono speaker.)