Loading include/sound/soc-topology.h +7 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ struct snd_kcontrol_new; struct snd_soc_dai_link; struct snd_soc_dai_driver; struct snd_soc_dai; struct snd_soc_dapm_route; /* object scan be loaded and unloaded in groups with identfying indexes */ #define SND_SOC_TPLG_INDEX_ALL 0 /* ID that matches all FW objects */ Loading Loading @@ -116,6 +117,12 @@ struct snd_soc_tplg_ops { int (*control_unload)(struct snd_soc_component *, struct snd_soc_dobj *); /* DAPM graph route element loading and unloading */ int (*dapm_route_load)(struct snd_soc_component *, int index, struct snd_soc_dapm_route *route); int (*dapm_route_unload)(struct snd_soc_component *, struct snd_soc_dobj *); /* external widget init - used for any driver specific init */ int (*widget_load)(struct snd_soc_component *, int index, struct snd_soc_dapm_widget *, Loading sound/soc/soc-topology.c +13 −0 Original line number Diff line number Diff line Loading @@ -1105,6 +1105,17 @@ static int soc_tplg_kcontrol_elems_load(struct soc_tplg *tplg, return 0; } /* optionally pass new dynamic kcontrol to component driver. */ static int soc_tplg_add_route(struct soc_tplg *tplg, struct snd_soc_dapm_route *route) { if (tplg->comp && tplg->ops && tplg->ops->dapm_route_load) return tplg->ops->dapm_route_load(tplg->comp, tplg->index, route); return 0; } static int soc_tplg_dapm_graph_elems_load(struct soc_tplg *tplg, struct snd_soc_tplg_hdr *hdr) { Loading Loading @@ -1153,6 +1164,8 @@ static int soc_tplg_dapm_graph_elems_load(struct soc_tplg *tplg, else route.control = elem->control; soc_tplg_add_route(tplg, &route); /* add route, but keep going if some fail */ snd_soc_dapm_add_routes(dapm, &route, 1); } Loading Loading
include/sound/soc-topology.h +7 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ struct snd_kcontrol_new; struct snd_soc_dai_link; struct snd_soc_dai_driver; struct snd_soc_dai; struct snd_soc_dapm_route; /* object scan be loaded and unloaded in groups with identfying indexes */ #define SND_SOC_TPLG_INDEX_ALL 0 /* ID that matches all FW objects */ Loading Loading @@ -116,6 +117,12 @@ struct snd_soc_tplg_ops { int (*control_unload)(struct snd_soc_component *, struct snd_soc_dobj *); /* DAPM graph route element loading and unloading */ int (*dapm_route_load)(struct snd_soc_component *, int index, struct snd_soc_dapm_route *route); int (*dapm_route_unload)(struct snd_soc_component *, struct snd_soc_dobj *); /* external widget init - used for any driver specific init */ int (*widget_load)(struct snd_soc_component *, int index, struct snd_soc_dapm_widget *, Loading
sound/soc/soc-topology.c +13 −0 Original line number Diff line number Diff line Loading @@ -1105,6 +1105,17 @@ static int soc_tplg_kcontrol_elems_load(struct soc_tplg *tplg, return 0; } /* optionally pass new dynamic kcontrol to component driver. */ static int soc_tplg_add_route(struct soc_tplg *tplg, struct snd_soc_dapm_route *route) { if (tplg->comp && tplg->ops && tplg->ops->dapm_route_load) return tplg->ops->dapm_route_load(tplg->comp, tplg->index, route); return 0; } static int soc_tplg_dapm_graph_elems_load(struct soc_tplg *tplg, struct snd_soc_tplg_hdr *hdr) { Loading Loading @@ -1153,6 +1164,8 @@ static int soc_tplg_dapm_graph_elems_load(struct soc_tplg *tplg, else route.control = elem->control; soc_tplg_add_route(tplg, &route); /* add route, but keep going if some fail */ snd_soc_dapm_add_routes(dapm, &route, 1); } Loading