diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-08-18 20:20:55 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-08-20 14:26:45 +0100 |
commit | 26b01ccdc8ded270a1a65721b99acacf0c44e088 (patch) | |
tree | 8d4f415650f822002d8856c4912fa6f5d0267671 | |
parent | 27ef3744f85bbbd00175ce7e9ac46b52089ee83c (diff) | |
download | op-kernel-dev-26b01ccdc8ded270a1a65721b99acacf0c44e088.zip op-kernel-dev-26b01ccdc8ded270a1a65721b99acacf0c44e088.tar.gz |
ASoC: Don't call DAI registration for CODECs with no DAI
Otherwise we generate worrying (but benign) warnings for amps.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r-- | sound/soc/soc-core.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 7093c17..65352c7 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3122,10 +3122,12 @@ int snd_soc_register_codec(struct device *dev, fixup_codec_formats(&dai_drv[i].capture); } - /* register DAIs */ - ret = snd_soc_register_dais(dev, dai_drv, num_dai); - if (ret < 0) + /* register any DAIs */ + if (num_dai) { + ret = snd_soc_register_dais(dev, dai_drv, num_dai); + if (ret < 0) goto error; + } mutex_lock(&client_mutex); list_add(&codec->list, &codec_list); @@ -3164,8 +3166,9 @@ void snd_soc_unregister_codec(struct device *dev) return; found: - for (i = 0; i < codec->num_dai; i++) - snd_soc_unregister_dai(dev); + if (codec->num_dai) + for (i = 0; i < codec->num_dai; i++) + snd_soc_unregister_dai(dev); mutex_lock(&client_mutex); list_del(&codec->list); |