On Sun, May 13, 2012 at 05:56:53AM +0200, Christoph Fritz wrote:
On Sat, May 12, 2012 at 12:51:31PM +0100, Mark Brown wrote:
On Sat, May 12, 2012 at 02:15:56AM +0200, Christoph Fritz wrote:
They refuse to change their Item0 because they are defined as SND_SOC_DAPM_MUX without a correlating path->name so that snd_soc_dapm_mux_update_power() (in sound/soc/soc-dapmc) doesn't change anything.
A route into a mux without a path name (other than a supply) just isn't meaningful and I'm surprised it ever worked.
It works in 2.6.33, but current kernel has different mux handling and it seems that no one since cared that much about microphone support.
It's nothing to do with microphones really, it's more that AC'97 CODECs are rarely used with modern kernels as the boards that use AC'97 are mostly quite old and suffer performance issues with modern software stacks so newer kernels haven't been getting much testing with them.
Mark, can you confirm this, purpose a fix or even come up with a patch?
Just filling in the appropriate mux value in the relevant route should do the trick.
Do you mean filling in to wm9712_audio_map or wm9712_enum?
Looking at the code it looks like the widget isn't hooked into the audio routing map at all so I'm a little surprised.
Does that mean that wm9712_dapm_widgets should be referred by a struct snd_kcontrol_new ?
I'm out of the office at the minute and so can't readily set up a test system myself.
I'm not that into alsa and would greatly appreciate if you could have a look with your test system.
Thanks, -- Christoph