On Tue, Apr 26, 2011 at 11:47:43AM -0700, Stephen Warren wrote:
When alsamixer sets one of these controls, both the Left ADC Input and Right ADC Input controls read back with the value that was set, since they both read from the same register bit. However, if only one of the controls is actually manipulated, then only the paths associated with that single widget are updated by dapm_mux_update_power. To solve this, the user must currently also toggle the other control back to the original value and then to the new value in order to update the paths.
Right, I had assumed we must've fixed this at some point in the past without me noticing when you sent the original patch as I'd expected you'd have seen issues in your testing.
Solution 2: Sharing controls:
This seems the best solution to me.
Solution 3: Stereo widgets:
The problem I see with this one is that someone's doubtless going to come up with something other than stereo controls, for example a single control that affects six channel surround sound data streams. Sharing the control seems like it scales up better to odd combinations of channels.