diff --git a/asoc/codecs/wsa883x/wsa883x.c b/asoc/codecs/wsa883x/wsa883x.c index fddfe39237..644175a694 100644 --- a/asoc/codecs/wsa883x/wsa883x.c +++ b/asoc/codecs/wsa883x/wsa883x.c @@ -1224,9 +1224,14 @@ static int wsa883x_codec_probe(struct snd_soc_component *component) int variant = 0, version = 0; struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); + char w_name[100]; if (!wsa883x) return -EINVAL; + + if (!component->name_prefix) + return -EINVAL; + snd_soc_component_init_regmap(component, wsa883x->regmap); dev = wsa883x->swr_slave; @@ -1245,6 +1250,22 @@ static int wsa883x_codec_probe(struct snd_soc_component *component) snd_soc_dapm_ignore_suspend(dapm, wsa883x->dai_driver->playback.stream_name); + + memset(w_name, 0, 100); + strlcpy(w_name, component->name_prefix, 100); + strlcat(w_name, " IN", 100); + snd_soc_dapm_ignore_suspend(dapm, w_name); + + memset(w_name, 0, 100); + strlcpy(w_name, component->name_prefix, 100); + strlcat(w_name, " SWR DAC_PORT", 100); + snd_soc_dapm_ignore_suspend(dapm, w_name); + + memset(w_name, 0, 100); + strlcpy(w_name, component->name_prefix, 100); + strlcat(w_name, " SPKR", 100); + snd_soc_dapm_ignore_suspend(dapm, w_name); + snd_soc_dapm_sync(dapm); return 0;