topology: Define a function to build a single PCM element

Code refactoring. Rename tplg_build_pcm() to tplg_build_pcms() to build
all PCM (FE DAI & DAI link) elements. It will call a new function
build_pcm() to build a single PCM elemement.

build_pcm() will be extended to handle more properties of a PCM.

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Mengdong Lin 2016-11-04 07:07:58 +08:00 committed by Takashi Iwai
parent b398ed4058
commit e4237a250d
3 changed files with 17 additions and 5 deletions

View file

@ -70,8 +70,20 @@ static int tplg_build_stream_caps(snd_tplg_t *tplg,
return 0;
}
/* build FE DAI/PCM configurations */
int tplg_build_pcm(snd_tplg_t *tplg, unsigned int type)
/* build a PCM (FE DAI & DAI link) element */
static int build_pcm(snd_tplg_t *tplg, struct tplg_elem *elem)
{
int err;
err = tplg_build_stream_caps(tplg, elem->id, elem->pcm->caps);
if (err < 0)
return err;
return 0;
}
/* build all PCM (FE DAI & DAI link) elements */
int tplg_build_pcms(snd_tplg_t *tplg, unsigned int type)
{
struct list_head *base, *pos;
struct tplg_elem *elem;
@ -86,7 +98,7 @@ int tplg_build_pcm(snd_tplg_t *tplg, unsigned int type)
return -EINVAL;
}
err = tplg_build_stream_caps(tplg, elem->id, elem->pcm->caps);
err = build_pcm(tplg, elem);
if (err < 0)
return err;