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>
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,
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);