[alsa-devel] [PATCH] ASoC: Don't call DAI registration for CODECs with no DAI

Mark Brown broonie at opensource.wolfsonmicro.com
Fri Aug 20 15:10:11 CEST 2010


Otherwise we generate worrying (but benign) warnings for amps.

Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
---
 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);
-- 
1.7.1



More information about the Alsa-devel mailing list