topology: pre-process-obejct: add helper function to get the section config

Add a helper function to retrieve the config node
pointing to the section name for a given object.
For ex: for the object, Object.Widget.pga.1{},
the function returns the config with id, "SectionWidget"
in the output config.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Ranjani Sridharan 2021-04-26 11:33:12 -07:00 committed by Jaroslav Kysela
parent 571d1fe871
commit 48fef7a811
2 changed files with 19 additions and 0 deletions

View file

@ -738,6 +738,24 @@ static const struct build_function_map *tplg_object_get_map(struct tplg_pre_proc
return NULL;
}
/* search for section name based on class type and name and return the config in output_cfg */
snd_config_t *tplg_object_get_section(struct tplg_pre_processor *tplg_pp, snd_config_t *class)
{
const struct build_function_map *map;
snd_config_t *cfg = NULL;
int ret;
map = tplg_object_get_map(tplg_pp, class);
if (!map)
return NULL;
ret = snd_config_search(tplg_pp->output_cfg, map->section_name, &cfg);
if (ret < 0)
SNDERR("Section config for %s not found\n", map->section_name);
return cfg;
}
/* return 1 if attribute not found in search_config, 0 on success and negative value on error */
static int tplg_object_copy_and_add_param(struct tplg_pre_processor *tplg_pp,
snd_config_t *obj,

View file

@ -61,6 +61,7 @@ snd_config_t *tplg_object_get_instance_config(struct tplg_pre_processor *tplg_pp
snd_config_t *class_type);
const char *tplg_object_get_name(struct tplg_pre_processor *tplg_pp,
snd_config_t *object);
snd_config_t *tplg_object_get_section(struct tplg_pre_processor *tplg_pp, snd_config_t *class);
/* class helpers */
snd_config_t *tplg_class_lookup(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg);