topology: add snd_tplg_create() with flags

Add SND_TPLG_CREATE_VERBOSE and SND_TPLG_CREATE_DAPM_NOSORT
flags for the special operations.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2019-12-20 14:59:00 +01:00
parent aa1bac2d04
commit b336aea507
4 changed files with 24 additions and 2 deletions

View file

@ -268,7 +268,10 @@ struct tplg_elem *tplg_elem_new_route(snd_tplg_t *tplg, int index)
return NULL;
elem->index = index;
tplg_elem_insert(elem, &tplg->route_list);
if (tplg->dapm_sort)
tplg_elem_insert(elem, &tplg->route_list);
else
list_add_tail(&elem->list, &tplg->route_list);
strcpy(elem->id, "line");
elem->type = SND_TPLG_TYPE_DAPM_GRAPH;
elem->size = sizeof(*line);

View file

@ -432,7 +432,7 @@ static bool is_little_endian(void)
return false;
}
snd_tplg_t *snd_tplg_new(void)
snd_tplg_t *snd_tplg_create(int flags)
{
snd_tplg_t *tplg;
@ -445,6 +445,9 @@ snd_tplg_t *snd_tplg_new(void)
if (!tplg)
return NULL;
tplg->verbose = !!(flags & SND_TPLG_CREATE_VERBOSE);
tplg->dapm_sort = (flags & SND_TPLG_CREATE_DAPM_NOSORT) == 0;
tplg->manifest.size = sizeof(struct snd_soc_tplg_manifest);
INIT_LIST_HEAD(&tplg->tlv_list);
@ -469,6 +472,11 @@ snd_tplg_t *snd_tplg_new(void)
return tplg;
}
snd_tplg_t *snd_tplg_new(void)
{
return snd_tplg_create(0);
}
void snd_tplg_free(snd_tplg_t *tplg)
{
free(tplg->bin);

View file

@ -66,6 +66,7 @@ struct snd_tplg {
size_t bin_size;
int verbose;
unsigned int dapm_sort: 1;
unsigned int version;
/* runtime state */