ASoC: codecs: wm9712: Mux no paths errors
Hi all,
I have a sound setup based on fsl_ssi + wm9712 codec.
On every drivers load I get the following console error:
[ 5666.776770] wm9712-codec wm9712-codec: ASoC: mux Capture Phone Mux has no paths [ 5666.784281] wm9712-codec wm9712-codec: ASoC: mux Differential Source has no paths
What is the proper way to get rid of this errors?
As a temporary solution I have ifdef-ed the following muxes from the driver like so:
@@ -364,8 +365,10 @@ SND_SOC_DAPM_MUX("Out3 Mux", SND_SOC_NOPM, 0, 0, &wm9712_out3_mux_controls), SND_SOC_DAPM_MUX("Speaker Mux", SND_SOC_NOPM, 0, 0, &wm9712_spk_mux_controls), +#if 0 SND_SOC_DAPM_MUX("Capture Phone Mux", SND_SOC_NOPM, 0, 0, &wm9712_capture_phone_mux_controls), +#endif SND_SOC_DAPM_MUX("Left Capture Select", SND_SOC_NOPM, 0, 0, &wm9712_capture_selectl_controls), SND_SOC_DAPM_MUX("Right Capture Select", SND_SOC_NOPM, 0, 0, @@ -374,8 +377,10 @@ SND_SOC_DAPM_MUX("Left Mic Select Source", SND_SOC_NOPM, 0, 0, &wm9712_mic_src_controls), SND_SOC_DAPM_MUX("Right Mic Select Source", SND_SOC_NOPM, 0, 0, &wm9712_mic_src_controls), +#ifdef 0 SND_SOC_DAPM_MUX("Differential Source", SND_SOC_NOPM, 0, 0, &wm9712_diff_sel_controls), +#endif SND_SOC_DAPM_MIXER("AC97 Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("Left HP Mixer", AC97_INT_PAGING, 9, 1, &wm9712_hpl_mixer_controls[0], ARRAY_SIZE(wm9712_hpl_mixer_controls)),
which works but feels like a dirty workaround, right?
How can this be properly fixed in the wm9712 driver or somewhere else?
BR, Primoz
On Tue, Jul 14, 2020 at 02:17:34PM +0200, Primoz Fiser wrote:
I have a sound setup based on fsl_ssi + wm9712 codec.
Copying in the Cirrus driver maintainers, not deleting anything for their benefit.
On every drivers load I get the following console error:
[ 5666.776770] wm9712-codec wm9712-codec: ASoC: mux Capture Phone Mux has no paths [ 5666.784281] wm9712-codec wm9712-codec: ASoC: mux Differential Source has no paths
What is the proper way to get rid of this errors?
As a temporary solution I have ifdef-ed the following muxes from the driver like so:
@@ -364,8 +365,10 @@ SND_SOC_DAPM_MUX("Out3 Mux", SND_SOC_NOPM, 0, 0, &wm9712_out3_mux_controls), SND_SOC_DAPM_MUX("Speaker Mux", SND_SOC_NOPM, 0, 0, &wm9712_spk_mux_controls), +#if 0 SND_SOC_DAPM_MUX("Capture Phone Mux", SND_SOC_NOPM, 0, 0, &wm9712_capture_phone_mux_controls), +#endif SND_SOC_DAPM_MUX("Left Capture Select", SND_SOC_NOPM, 0, 0, &wm9712_capture_selectl_controls), SND_SOC_DAPM_MUX("Right Capture Select", SND_SOC_NOPM, 0, 0, @@ -374,8 +377,10 @@ SND_SOC_DAPM_MUX("Left Mic Select Source", SND_SOC_NOPM, 0, 0, &wm9712_mic_src_controls), SND_SOC_DAPM_MUX("Right Mic Select Source", SND_SOC_NOPM, 0, 0, &wm9712_mic_src_controls), +#ifdef 0 SND_SOC_DAPM_MUX("Differential Source", SND_SOC_NOPM, 0, 0, &wm9712_diff_sel_controls), +#endif SND_SOC_DAPM_MIXER("AC97 Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("Left HP Mixer", AC97_INT_PAGING, 9, 1, &wm9712_hpl_mixer_controls[0], ARRAY_SIZE(wm9712_hpl_mixer_controls)),
which works but feels like a dirty workaround, right?
How can this be properly fixed in the wm9712 driver or somewhere else?
Someone needs to either removing the muxes as you have at the minute or filling in their inputs (which should be fairly straightforward if you take a look at the datasheet). TBH if nobody's noticed them being broken in all the time the driver has been in mainline it's probably not that great a loss to remove them, someone who needs the support can always re-add the muxes themselves while adding their inputs.
participants (2)
-
Mark Brown
-
Primoz Fiser