Since 5.3-rc1, the kernel (correctly) complains about missing widgets when loading msm8916-wcd-digital:
ASoC: no sink widget found for RX1 MIX2 INP1 ASoC: Failed to add route IIR1 -> IIR1 -> RX1 MIX2 INP1 ASoC: no sink widget found for RX2 MIX2 INP1 ASoC: Failed to add route IIR1 -> IIR1 -> RX2 MIX2 INP1 ASoC: no sink widget found for RX1 MIX2 INP1 ASoC: Failed to add route IIR2 -> IIR2 -> RX1 MIX2 INP1 ASoC: no sink widget found for RX2 MIX2 INP1 ASoC: Failed to add route IIR2 -> IIR2 -> RX2 MIX2 INP1
This happens because RX1/2 MIX2 INP1 is not actually supported by msm8916-wcd-digital for some reason. There were some traces of it in the initial patch, but the last remnants were removed in commit fecd5c09ddf8 ("ASoC: msm8916-wcd-digital: remove few unused variables").
On 5.3 everything seemingly worked even with that error, but on 5.4-rc1 the sound card is no longer successfully registered:
qcom-apq8016-sbc 7702000.sound: ASoC: failed to instantiate card -19
This happens because a check for the return code of snd_soc_dapm_add_routes() was added in commit daa480bde6b3 ("ASoC: soc-core: tidyup for snd_soc_dapm_add_routes()").
Avoid the error by removing the routes that reference the missing widgets.
Fixes: ef8a4757a6db ("ASoC: msm8916-wcd-digital: Add sidetone support") Signed-off-by: Stephan Gerhold stephan@gerhold.net --- sound/soc/codecs/msm8916-wcd-digital.c | 5 ----- 1 file changed, 5 deletions(-)
diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c index 9fa5d44fdc79..36d8f619e298 100644 --- a/sound/soc/codecs/msm8916-wcd-digital.c +++ b/sound/soc/codecs/msm8916-wcd-digital.c @@ -1022,11 +1022,6 @@ static const struct snd_soc_dapm_route msm8916_wcd_digital_audio_map[] = { {"RX3 MIX1 INP2", "IIR1", "IIR1"}, {"RX3 MIX1 INP2", "IIR2", "IIR2"},
- {"RX1 MIX2 INP1", "IIR1", "IIR1"}, - {"RX2 MIX2 INP1", "IIR1", "IIR1"}, - {"RX1 MIX2 INP1", "IIR2", "IIR2"}, - {"RX2 MIX2 INP1", "IIR2", "IIR2"}, - {"IIR1", NULL, "IIR1 INP1 MUX"}, {"IIR1 INP1 MUX", "DEC1", "DEC1 MUX"}, {"IIR1 INP1 MUX", "DEC2", "DEC2 MUX"},