return tplg_parent_update(tplg_pp, parent, "hw_configs", name);
}
+
+int tplg_build_fe_dai_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
+ snd_config_t *parent)
+{
+ return tplg_build_base_object(tplg_pp, obj_cfg, parent, false);
+}
return ret;
}
+const struct config_template_items fe_dai_config = {
+ .int_config_ids = {"id"},
+};
+
const struct config_template_items hwcfg_config = {
.int_config_ids = {"id", "bclk_freq", "bclk_invert", "fsync_invert", "fsync_freq",
"mclk_freq", "pm_gate_clocks", "tdm_slots", "tdm_slot_width",
{"Base", "VendorToken", "SectionVendorTokens", &tplg_build_vendor_token_object, NULL},
{"Base", "hw_config", "SectionHWConfig", &tplg_build_hw_cfg_object,
&hwcfg_config},
+ {"Base", "fe_dai", "dai", &tplg_build_fe_dai_object, &fe_dai_config},
{"Base", "route", "SectionGraph", &tplg_build_dapm_route_object, NULL},
{"Widget", "", "SectionWidget", &tplg_build_generic_object, &widget_config},
{"Control", "mixer", "SectionControlMixer", &tplg_build_mixer_control,
snd_config_t *parent);
int tplg_build_hw_cfg_object(struct tplg_pre_processor *tplg_pp,
snd_config_t *obj_cfg, snd_config_t *parent);
+int tplg_build_fe_dai_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
+ snd_config_t *parent);
+int tplg_build_base_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
+ snd_config_t *parent, bool skip_name);
int tplg_parent_update(struct tplg_pre_processor *tplg_pp, snd_config_t *parent,
const char *section_name, const char *item_name);