All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
To: Mark Brown <broonie@kernel.org>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>
Subject: [PATCH 11/14] ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform()
Date: 01 Apr 2021 13:16:33 +0900	[thread overview]
Message-ID: <87h7kqod0e.wl-kuninori.morimoto.gx@renesas.com> (raw)
In-Reply-To: <87wntmod33.wl-kuninori.morimoto.gx@renesas.com>

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Current asoc_simple_canonicalize_cpu/platform() is assuming single CPU,
single Platform, but we want to support Multi support.
This patch is prepare for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 include/sound/simple_card_utils.h     |  7 ++++---
 sound/soc/generic/audio-graph-card.c  |  9 +++++----
 sound/soc/generic/simple-card-utils.c | 11 ++++++-----
 sound/soc/generic/simple-card.c       |  9 +++++----
 4 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/include/sound/simple_card_utils.h b/include/sound/simple_card_utils.h
index 78b6cf0194d2..cccd9987a1b4 100644
--- a/include/sound/simple_card_utils.h
+++ b/include/sound/simple_card_utils.h
@@ -151,9 +151,10 @@ int asoc_simple_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
 					&(dai)->slots,		\
 					&(dai)->slot_width);
 
-void asoc_simple_canonicalize_platform(struct snd_soc_dai_link *dai_link);
-void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link *dai_link,
-				      int is_single_links);
+void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
+				       struct snd_soc_dai_link_component *cpus);
+void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link_component *cpus,
+				  int is_single_links);
 
 int asoc_simple_clean_reference(struct snd_soc_card *card);
 
diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
index 1ad661024912..850e7855105c 100644
--- a/sound/soc/generic/audio-graph-card.c
+++ b/sound/soc/generic/audio-graph-card.c
@@ -226,6 +226,7 @@ static int graph_dai_link_of_dpcm(struct asoc_simple_priv *priv,
 	struct asoc_simple_dai *dai;
 	struct snd_soc_dai_link_component *cpus = dai_link->cpus;
 	struct snd_soc_dai_link_component *codecs = dai_link->codecs;
+	struct snd_soc_dai_link_component *platforms = dai_link->platforms;
 	int ret;
 
 	port	= of_get_parent(ep);
@@ -276,8 +277,8 @@ static int graph_dai_link_of_dpcm(struct asoc_simple_priv *priv,
 			dai_link->no_pcm = 1;
 
 		/* card->num_links includes Codec */
-		asoc_simple_canonicalize_cpu(dai_link, is_single_links);
-		asoc_simple_canonicalize_platform(dai_link);
+		asoc_simple_canonicalize_cpu(cpus, is_single_links);
+		asoc_simple_canonicalize_platform(platforms, cpus);
 	} else {
 		struct snd_soc_codec_conf *cconf;
 
@@ -405,8 +406,8 @@ static int graph_dai_link_of(struct asoc_simple_priv *priv,
 	dai_link->ops = &graph_ops;
 	dai_link->init = asoc_simple_dai_init;
 
-	asoc_simple_canonicalize_cpu(dai_link, single_cpu);
-	asoc_simple_canonicalize_platform(dai_link);
+	asoc_simple_canonicalize_cpu(dai_link->cpus, single_cpu);
+	asoc_simple_canonicalize_platform(dai_link->platforms, dai_link->cpus);
 
 	return 0;
 }
diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c
index 6efe3757eff8..a15956c25858 100644
--- a/sound/soc/generic/simple-card-utils.c
+++ b/sound/soc/generic/simple-card-utils.c
@@ -423,15 +423,16 @@ int asoc_simple_dai_init(struct snd_soc_pcm_runtime *rtd)
 }
 EXPORT_SYMBOL_GPL(asoc_simple_dai_init);
 
-void asoc_simple_canonicalize_platform(struct snd_soc_dai_link *dai_link)
+void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
+				       struct snd_soc_dai_link_component *cpus)
 {
 	/* Assumes platform == cpu */
-	if (!dai_link->platforms->of_node)
-		dai_link->platforms->of_node = dai_link->cpus->of_node;
+	if (!platforms->of_node)
+		platforms->of_node = cpus->of_node;
 }
 EXPORT_SYMBOL_GPL(asoc_simple_canonicalize_platform);
 
-void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link *dai_link,
+void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link_component *cpus,
 				  int is_single_links)
 {
 	/*
@@ -444,7 +445,7 @@ void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link *dai_link,
 	 *	fmt_multiple_name()
 	 */
 	if (is_single_links)
-		dai_link->cpus->dai_name = NULL;
+		cpus->dai_name = NULL;
 }
 EXPORT_SYMBOL_GPL(asoc_simple_canonicalize_cpu);
 
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index 80d9a4a7ccad..cce70613428d 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -124,6 +124,7 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv,
 	struct asoc_simple_dai *dai;
 	struct snd_soc_dai_link_component *cpus = dai_link->cpus;
 	struct snd_soc_dai_link_component *codecs = dai_link->codecs;
+	struct snd_soc_dai_link_component *platforms = dai_link->platforms;
 	struct device_node *top = dev->of_node;
 	struct device_node *node = of_get_parent(np);
 	char *prefix = "";
@@ -162,8 +163,8 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv,
 		if (ret < 0)
 			goto out_put_node;
 
-		asoc_simple_canonicalize_cpu(dai_link, is_single_links);
-		asoc_simple_canonicalize_platform(dai_link);
+		asoc_simple_canonicalize_cpu(cpus, is_single_links);
+		asoc_simple_canonicalize_platform(platforms, cpus);
 	} else {
 		struct snd_soc_codec_conf *cconf;
 
@@ -298,8 +299,8 @@ static int simple_dai_link_of(struct asoc_simple_priv *priv,
 	dai_link->ops = &simple_ops;
 	dai_link->init = asoc_simple_dai_init;
 
-	asoc_simple_canonicalize_cpu(dai_link, single_cpu);
-	asoc_simple_canonicalize_platform(dai_link);
+	asoc_simple_canonicalize_cpu(dai_link->cpus, single_cpu);
+	asoc_simple_canonicalize_platform(dai_link->platforms, dai_link->cpus);
 
 dai_link_of_err:
 	of_node_put(plat);
-- 
2.25.1


  parent reply	other threads:[~2021-04-01  4:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  4:14 [PATCH 00/14] ASoC: simple-card-utils: prepare for multi support Kuninori Morimoto
2021-04-01  4:15 ` [PATCH 01/14] ASoC: simple-card-utils: enable flexible CPU/Codec/Platform Kuninori Morimoto
2021-04-15 18:01   ` Thierry Reding
2021-04-15 18:01     ` Thierry Reding
2021-04-15 18:14     ` Mark Brown
2021-04-15 18:14       ` Mark Brown
2021-04-15 18:25       ` Thierry Reding
2021-04-15 18:25         ` Thierry Reding
2021-04-15 18:31         ` Mark Brown
2021-04-15 18:31           ` Mark Brown
2021-04-01  4:15 ` [PATCH 02/14] ASoC: simple-card-utils: share dummy DAI and reduce memory Kuninori Morimoto
2021-04-01  4:15 ` [PATCH 03/14] ASoC: simple-card-utils: setup dai_props cpu_dai/codec_dai at initial timing Kuninori Morimoto
2021-04-08 14:16   ` Mark Brown
2021-04-01  4:15 ` [PATCH 04/14] ASoC: simple-card-utils: remove li->dais/li->conf Kuninori Morimoto
2021-04-01  4:15 ` [PATCH 05/14] ASoC: simple-card-utils: use for_each_prop_xxx() Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 06/14] ASoC: simple-card-utils: remove asoc_simple_parse_xxx() Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 07/14] ASoC: simple-card-utils: care multi DAI at asoc_simple_clean_reference() Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 08/14] ASoC: simple-card-utils: indicate dai_fmt if exist Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 09/14] ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 10/14] ASoC: simple-card-utils: add simple_props_to_xxx() macro Kuninori Morimoto
2021-04-01  4:16 ` Kuninori Morimoto [this message]
2021-04-01  4:16 ` [PATCH 12/14] ASoC: simple-card-utils: tidyup debug info for clock Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 13/14] ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line Kuninori Morimoto
2021-04-01  4:16 ` [PATCH 14/14] ASoC: simple-card-utils: tidyup asoc_simple_parse_convert() Kuninori Morimoto
2021-04-08 16:54 ` [PATCH 00/14] ASoC: simple-card-utils: prepare for multi support Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h7kqod0e.wl-kuninori.morimoto.gx@renesas.com \
    --to=kuninori.morimoto.gx@renesas.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.