On Fri, Jan 11, 2013 at 01:56:17PM +0100, Lars-Peter Clausen wrote:
On 01/11/2013 01:45 PM, Mark Brown wrote:
Virtual enums do actually end up routing, that's not what a mute control usually does. You can do the above in the manner I suggested, just have the register forced to a particular value when the DAC is disabled.
Well, that's what the code does. The alternative is to implement more or
No, it's not (at least not according to the changelog). It implements a totally separate virtual control.
less in the driver. Have custom put/get callbacks for the controls, which write to a shadow register, only if the DAC is enabled the shadow value gets written to the real register. And listen to the DAC powerdown/powerup events, when it is powered down enable all hw mutes, when it is enabled
What makes you say that this must be open coded in the driver? We can modify the framework code...
restore the shadow register value. The virtual control more or less implements it in a generic manner so it does not have to be implemented by each driver which needs this on its own.
I'm having a really hard time seeing the equivalence here.