summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMengdong Lin <mengdong.lin@linux.intel.com>2016-11-06 13:11:49 +0800
committerTakashi Iwai <tiwai@suse.de>2016-11-08 16:33:16 +0100
commit18652f4629a51f63ac7c1d2f59a923ce2b2fa035 (patch)
treea2c8da5437410f7268e06d78d2bc956e8dd2bf16
parentfc8e5ab4a054ce85f9b8a836ee1d666005f54181 (diff)
downloadalsa-lib-18652f4629a51f63ac7c1d2f59a923ce2b2fa035.tar.gz
topology: Merge an element's be & cc pointer to one link pointer
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> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--src/topology/pcm.c18
-rw-r--r--src/topology/tplg_local.h3
2 files changed, 7 insertions, 14 deletions
diff --git a/src/topology/pcm.c b/src/topology/pcm.c
index b7a2df76..64fd78fd 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 7b30b849..3aa51eee 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;