Message ID | 20190626133617.25959-2-jbrunet@baylibre.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] ASoC: soc-core: defer card registration if codec component is missing | expand |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 358f1fbf9a30..002ddbf4e5a3 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1064,12 +1064,20 @@ static int soc_init_dai_link(struct snd_soc_card *card, link->name); return -EINVAL; } + /* Codec DAI name must be specified */ if (!codec->dai_name) { dev_err(card->dev, "ASoC: codec_dai_name not set for %s\n", link->name); return -EINVAL; } + + /* + * Defer card registartion if codec component is not added to + * component list. + */ + if (!soc_find_component(codec)) + return -EPROBE_DEFER; } /*
Like cpus and platforms, defer sound card initialization if the codec component is missing when initializing the dai_link Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> --- sound/soc/soc-core.c | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.21.0