All of lore.kernel.org
 help / color / mirror / Atom feed
* [alsa-devel] [PATCH 1/2] ASoC: add control components management
@ 2019-11-19 17:49 Jaroslav Kysela
  2019-11-19 17:49 ` [alsa-devel] [PATCH 2/2] ASoC: Intel - use control components to describe card config Jaroslav Kysela
  2019-11-20 17:18 ` [alsa-devel] Applied "ASoC: add control components management" to the asoc tree Mark Brown
  0 siblings, 2 replies; 11+ messages in thread
From: Jaroslav Kysela @ 2019-11-19 17:49 UTC (permalink / raw)
  To: ALSA development; +Cc: Takashi Iwai, Mark Brown

This ASCII string can carry additional information about
soundcard components or configuration. Add the possibility
to set this string via the ASoC card.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cc: Mark Brown <broonie@kernel.org>
---
 include/sound/soc.h  |  1 +
 sound/soc/soc-core.c | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index e0855dc08d30..bd943b5d7d45 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -982,6 +982,7 @@ struct snd_soc_card {
 	const char *name;
 	const char *long_name;
 	const char *driver_name;
+	const char *components;
 	char dmi_longname[80];
 	char topology_shortname[32];
 
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 55014e7ae0d8..b4683d4588ee 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2121,6 +2121,19 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
 	soc_setup_card_name(card->snd_card->driver,
 			    card->driver_name, card->name, 1);
 
+	if (card->components) {
+		/* the current implementation of snd_component_add() accepts */
+		/* multiple components in the string separated by space, */
+		/* but the string collision (identical string) check might */
+		/* not work correctly */
+		ret = snd_component_add(card->snd_card, card->components);
+		if (ret < 0) {
+			dev_err(card->dev, "ASoC: %s snd_component_add() failed: %d\n",
+				card->name, ret);
+			goto probe_end;
+		}
+	}
+
 	if (card->late_probe) {
 		ret = card->late_probe(card);
 		if (ret < 0) {
-- 
2.20.1
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-11-20 17:22 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-19 17:49 [alsa-devel] [PATCH 1/2] ASoC: add control components management Jaroslav Kysela
2019-11-19 17:49 ` [alsa-devel] [PATCH 2/2] ASoC: Intel - use control components to describe card config Jaroslav Kysela
2019-11-19 19:12   ` Pierre-Louis Bossart
2019-11-19 19:22     ` Jaroslav Kysela
2019-11-19 19:39       ` Pierre-Louis Bossart
2019-11-19 20:27         ` Jaroslav Kysela
2019-11-20  0:24           ` Pierre-Louis Bossart
2019-11-19 20:37       ` Takashi Iwai
2019-11-19 20:41         ` Mark Brown
2019-11-19 20:47           ` Jaroslav Kysela
2019-11-20 17:18 ` [alsa-devel] Applied "ASoC: add control components management" to the asoc tree Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.