From: Jerome Brunet Date: Thu, 27 Jun 2019 12:13:49 +0000 (+0200) Subject: ASoC: soc-core: defer card registration if codec component is missing X-Git-Tag: v5.3-rc4~29^2~7^2~102 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=af18b13fedae4637b439d1265038b30929ca5a4c;p=users%2Fhch%2Fdma-mapping.git ASoC: soc-core: defer card registration if codec component is missing Like cpus and platforms, defer sound card initialization if the codec component is missing when initializing the dai_link Signed-off-by: Jerome Brunet Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 05cd710273b6..b5f3c09311c3 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1071,12 +1071,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 registration if codec component is not added to + * component list. + */ + if (!soc_find_component(codec)) + return -EPROBE_DEFER; } /*