[02/13] topology: Merge an element's be & cc pointer to one link pointer
diff mbox

Message ID 9b5fe3318b561348301acc9af4b7a7290dd041e2.1478407716.git.mengdong.lin@linux.intel.com
State New
Headers show

Commit Message

mengdong.lin@linux.intel.com Nov. 6, 2016, 5:11 a.m. UTC
From: Mengdong Lin <mengdong.lin@linux.intel.com>

Code refactoring. Previously an element has two pointers, 'be' and 'cc',
for BE (Back End) and CC (Codec-Codec) link respectively. But actually
the topology tool processes BE and CC links in the same way, so these
two pointers can be merged into one 'link' pointer, which can be used
configure any physical links.

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>

Patch
diff mbox

diff --git a/src/topology/pcm.c b/src/topology/pcm.c
index b7a2df7..64fd78f 100644
--- a/src/topology/pcm.c
+++ b/src/topology/pcm.c
@@ -175,11 +175,7 @@  int tplg_build_link_cfg(snd_tplg_t *tplg, unsigned int type)
 			return -EINVAL;
 		}
 
-		if (type == SND_TPLG_TYPE_BE)
-			link = elem->be;
-		else
-			link = elem->cc;
-
+		link = elem->link;
 		err = tplg_build_stream_cfg(tplg, link->stream,
 			link->num_streams);
 		if (err < 0)
@@ -528,7 +524,7 @@  int tplg_parse_be(snd_tplg_t *tplg,
 	if (!elem)
 		return -ENOMEM;
 
-	link = elem->be;
+	link = elem->link;
 	link->size = elem->size;
 
 	tplg_dbg(" BE: %s\n", elem->id);
@@ -588,7 +584,7 @@  int tplg_parse_cc(snd_tplg_t *tplg,
 	if (!elem)
 		return -ENOMEM;
 
-	link = elem->cc;
+	link = elem->link;
 	link->size = elem->size;
 
 	tplg_dbg(" CC: %s\n", elem->id);
@@ -742,14 +738,12 @@  int tplg_add_link_object(snd_tplg_t *tplg, snd_tplg_obj_template_t *t)
 	if (!elem)
 		return -ENOMEM;
 
-	if (t->type == SND_TPLG_TYPE_BE) {
+	if (t->type == SND_TPLG_TYPE_BE)
 		tplg_dbg("BE Link: %s", link->name);
-		lk = elem->be;
-	} else {
+	else
 		tplg_dbg("CC Link: %s", link->name);
-		lk = elem->cc;
-	}
 
+	lk = elem->link;
 	lk->size = elem->size;
 	lk->id = link->id;
 	lk->num_streams = link->num_streams;
diff --git a/src/topology/tplg_local.h b/src/topology/tplg_local.h
index 7b30b84..3aa51ee 100644
--- a/src/topology/tplg_local.h
+++ b/src/topology/tplg_local.h
@@ -144,8 +144,7 @@  struct tplg_elem {
 		struct snd_soc_tplg_bytes_control *bytes_ext;
 		struct snd_soc_tplg_dapm_widget *widget;
 		struct snd_soc_tplg_pcm *pcm;
-		struct snd_soc_tplg_link_config *be;
-		struct snd_soc_tplg_link_config *cc;
+		struct snd_soc_tplg_link_config *link;/* physical link */
 		struct snd_soc_tplg_dapm_graph_elem *route;
 		struct snd_soc_tplg_stream *stream_cfg;
 		struct snd_soc_tplg_stream_caps *stream_caps;