if (elem->compound_elem)
continue;
- if (elem->type != OBJECT_TYPE_DAPM_GRAPH)
+ if (elem->type != SND_TPLG_TYPE_DAPM_GRAPH)
verbose(tplg, " %s '%s': write %d bytes\n",
obj_name, elem->id, elem->size);
else
/* write each elem for this block */
switch (type) {
- case OBJECT_TYPE_MIXER:
+ case SND_TPLG_TYPE_MIXER:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_MIXER, "mixer");
- case OBJECT_TYPE_BYTES:
+ case SND_TPLG_TYPE_BYTES:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_BYTES, "bytes");
- case OBJECT_TYPE_ENUM:
+ case SND_TPLG_TYPE_ENUM:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_ENUM, "enum");
- case OBJECT_TYPE_DAPM_GRAPH:
+ case SND_TPLG_TYPE_DAPM_GRAPH:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_DAPM_GRAPH, "route");
- case OBJECT_TYPE_DAPM_WIDGET:
+ case SND_TPLG_TYPE_DAPM_WIDGET:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_DAPM_WIDGET, "widget");
- case OBJECT_TYPE_PCM:
+ case SND_TPLG_TYPE_PCM:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_PCM, "pcm");
- case OBJECT_TYPE_BE:
+ case SND_TPLG_TYPE_BE:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_DAI_LINK, "be");
- case OBJECT_TYPE_CC:
+ case SND_TPLG_TYPE_CC:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_DAI_LINK, "cc");
- case OBJECT_TYPE_DATA:
+ case SND_TPLG_TYPE_DATA:
return write_elem_block(tplg, base, size,
SND_SOC_TPLG_TYPE_PDATA, "data");
default:
/* write mixer elems. */
ret = write_block(tplg, &tplg->mixer_list,
- OBJECT_TYPE_MIXER);
+ SND_TPLG_TYPE_MIXER);
if (ret < 0) {
SNDERR("failed to write control elems %d\n", ret);
return ret;
/* write enum control elems. */
ret = write_block(tplg, &tplg->enum_list,
- OBJECT_TYPE_ENUM);
+ SND_TPLG_TYPE_ENUM);
if (ret < 0) {
SNDERR("failed to write control elems %d\n", ret);
return ret;
/* write bytes extended control elems. */
ret = write_block(tplg, &tplg->bytes_ext_list,
- OBJECT_TYPE_BYTES);
+ SND_TPLG_TYPE_BYTES);
if (ret < 0) {
SNDERR("failed to write control elems %d\n", ret);
return ret;
/* write widget elems */
ret = write_block(tplg, &tplg->widget_list,
- OBJECT_TYPE_DAPM_WIDGET);
+ SND_TPLG_TYPE_DAPM_WIDGET);
if (ret < 0) {
SNDERR("failed to write widget elems %d\n", ret);
return ret;
/* write pcm elems */
ret = write_block(tplg, &tplg->pcm_list,
- OBJECT_TYPE_PCM);
+ SND_TPLG_TYPE_PCM);
if (ret < 0) {
SNDERR("failed to write pcm elems %d\n", ret);
return ret;
/* write be elems */
ret = write_block(tplg, &tplg->be_list,
- OBJECT_TYPE_BE);
+ SND_TPLG_TYPE_BE);
if (ret < 0) {
SNDERR("failed to write be elems %d\n", ret);
return ret;
/* write cc elems */
ret = write_block(tplg, &tplg->cc_list,
- OBJECT_TYPE_CC);
+ SND_TPLG_TYPE_CC);
if (ret < 0) {
SNDERR("failed to write cc elems %d\n", ret);
return ret;
/* write route elems */
ret = write_block(tplg, &tplg->route_list,
- OBJECT_TYPE_DAPM_GRAPH);
+ SND_TPLG_TYPE_DAPM_GRAPH);
if (ret < 0) {
SNDERR("failed to write graph elems %d\n", ret);
return ret;
/* write private data */
ret = write_block(tplg, &tplg->pdata_list,
- OBJECT_TYPE_DATA);
+ SND_TPLG_TYPE_DATA);
if (ret < 0) {
SNDERR("failed to write private data %d\n", ret);
return ret;
if (ref->id == NULL || ref->elem)
continue;
- if (ref->type == OBJECT_TYPE_TLV) {
+ if (ref->type == SND_TPLG_TYPE_TLV) {
ref->elem = tplg_elem_lookup(&tplg->tlv_list,
- ref->id, OBJECT_TYPE_TLV);
+ ref->id, SND_TPLG_TYPE_TLV);
if (ref->elem)
err = copy_tlv(elem, ref->elem);
- } else if (ref->type == OBJECT_TYPE_DATA) {
+ } else if (ref->type == SND_TPLG_TYPE_DATA) {
ref->elem = tplg_elem_lookup(&tplg->pdata_list,
- ref->id, OBJECT_TYPE_DATA);
+ ref->id, SND_TPLG_TYPE_DATA);
err = tplg_copy_data(elem, ref->elem);
}
if (ref->id == NULL || ref->elem)
continue;
- if (ref->type == OBJECT_TYPE_TEXT) {
+ if (ref->type == SND_TPLG_TYPE_TEXT) {
ref->elem = tplg_elem_lookup(&tplg->text_list,
- ref->id, OBJECT_TYPE_TEXT);
+ ref->id, SND_TPLG_TYPE_TEXT);
if (ref->elem)
copy_enum_texts(elem, ref->elem);
- } else if (ref->type == OBJECT_TYPE_DATA) {
+ } else if (ref->type == SND_TPLG_TYPE_DATA) {
ref->elem = tplg_elem_lookup(&tplg->pdata_list,
- ref->id, OBJECT_TYPE_DATA);
+ ref->id, SND_TPLG_TYPE_DATA);
err = tplg_copy_data(elem, ref->elem);
}
if (!ref->elem) {
/* bytes control only reference one private data section */
ref->elem = tplg_elem_lookup(&tplg->pdata_list,
- ref->id, OBJECT_TYPE_DATA);
+ ref->id, SND_TPLG_TYPE_DATA);
if (!ref->elem) {
SNDERR("error: cannot find data '%s'"
" referenced by control '%s'\n",
int err = 0;
struct tplg_elem *elem;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_TLV);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_TLV);
if (!elem)
return -ENOMEM;
const char *id, *val = NULL;
int err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_BYTES);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_BYTES);
if (!elem)
return -ENOMEM;
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- tplg_ref_add(elem, OBJECT_TYPE_DATA, val);
+ tplg_ref_add(elem, SND_TPLG_TYPE_DATA, val);
tplg_dbg("\t%s: %s\n", id, val);
continue;
}
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- err = tplg_ref_add(elem, OBJECT_TYPE_TLV, val);
+ err = tplg_ref_add(elem, SND_TPLG_TYPE_TLV, val);
if (err < 0)
return err;
const char *id, *val = NULL;
int err, j;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_ENUM);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_ENUM);
if (!elem)
return -ENOMEM;
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- tplg_ref_add(elem, OBJECT_TYPE_TEXT, val);
+ tplg_ref_add(elem, SND_TPLG_TYPE_TEXT, val);
tplg_dbg("\t%s: %s\n", id, val);
continue;
}
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- tplg_ref_add(elem, OBJECT_TYPE_DATA, val);
+ tplg_ref_add(elem, SND_TPLG_TYPE_DATA, val);
tplg_dbg("\t%s: %s\n", id, val);
continue;
}
const char *id, *val = NULL;
int err, j;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_MIXER);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_MIXER);
if (!elem)
return -ENOMEM;
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- err = tplg_ref_add(elem, OBJECT_TYPE_TLV, val);
+ err = tplg_ref_add(elem, SND_TPLG_TYPE_TLV, val);
if (err < 0)
return err;
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- tplg_ref_add(elem, OBJECT_TYPE_DATA, val);
+ tplg_ref_add(elem, SND_TPLG_TYPE_DATA, val);
tplg_dbg("\t%s: %s\n", id, val);
continue;
}
if (snd_config_get_string(n, &value) < 0)
continue;
- tplg_ref_add(elem, OBJECT_TYPE_MIXER, value);
+ tplg_ref_add(elem, SND_TPLG_TYPE_MIXER, value);
tplg_dbg("\t\t %s\n", value);
}
if (snd_config_get_string(n, &value) < 0)
continue;
- tplg_ref_add(elem, OBJECT_TYPE_ENUM, value);
+ tplg_ref_add(elem, SND_TPLG_TYPE_ENUM, value);
tplg_dbg("\t\t %s\n", value);
}
continue;
switch (ref->type) {
- case OBJECT_TYPE_MIXER:
- ref->elem = tplg_elem_lookup(&tplg->mixer_list,
- ref->id, OBJECT_TYPE_MIXER);
+ case SND_TPLG_TYPE_MIXER:
+ if (!ref->elem)
+ ref->elem = tplg_elem_lookup(&tplg->mixer_list,
+ ref->id, SND_TPLG_TYPE_MIXER);
if (ref->elem)
err = copy_dapm_control(elem, ref->elem);
break;
- case OBJECT_TYPE_ENUM:
- ref->elem = tplg_elem_lookup(&tplg->enum_list,
- ref->id, OBJECT_TYPE_ENUM);
+ case SND_TPLG_TYPE_ENUM:
+ if (!ref->elem)
+ ref->elem = tplg_elem_lookup(&tplg->enum_list,
+ ref->id, SND_TPLG_TYPE_ENUM);
if (ref->elem)
err = copy_dapm_control(elem, ref->elem);
break;
- case OBJECT_TYPE_DATA:
- ref->elem = tplg_elem_lookup(&tplg->pdata_list,
- ref->id, OBJECT_TYPE_DATA);
+ case SND_TPLG_TYPE_DATA:
+ if (!ref->elem)
+ ref->elem = tplg_elem_lookup(&tplg->pdata_list,
+ ref->id, SND_TPLG_TYPE_DATA);
if (ref->elem)
err = tplg_copy_data(elem, ref->elem);
break;
list_for_each(pos, base) {
elem = list_entry(pos, struct tplg_elem, list);
- if (!elem->widget || elem->type != OBJECT_TYPE_DAPM_WIDGET) {
+ if (!elem->widget || elem->type != SND_TPLG_TYPE_DAPM_WIDGET) {
SNDERR("error: invalid widget '%s'\n",
elem->id);
return -EINVAL;
list_for_each(pos, base) {
elem = list_entry(pos, struct tplg_elem, list);
- if (!elem->route || elem->type != OBJECT_TYPE_DAPM_GRAPH) {
+ if (!elem->route || elem->type != SND_TPLG_TYPE_DAPM_GRAPH) {
SNDERR("error: invalid route '%s'\n",
elem->id);
return -EINVAL;
}
if (!tplg_elem_lookup(&tplg->widget_list, route->sink,
- OBJECT_TYPE_DAPM_WIDGET)) {
+ SND_TPLG_TYPE_DAPM_WIDGET)) {
SNDERR("warning: undefined sink widget/stream '%s'\n",
route->sink);
}
/* validate control name */
if (strlen(route->control)) {
if (!tplg_elem_lookup(&tplg->mixer_list,
- route->control, OBJECT_TYPE_MIXER) &&
+ route->control, SND_TPLG_TYPE_MIXER) &&
!tplg_elem_lookup(&tplg->enum_list,
- route->control, OBJECT_TYPE_ENUM)) {
+ route->control, SND_TPLG_TYPE_ENUM)) {
SNDERR("warning: Undefined mixer/enum control '%s'\n",
route->control);
}
}
if (!tplg_elem_lookup(&tplg->widget_list, route->source,
- OBJECT_TYPE_DAPM_WIDGET)) {
+ SND_TPLG_TYPE_DAPM_WIDGET)) {
SNDERR("warning: Undefined source widget/stream '%s'\n",
route->source);
}
list_add_tail(&elem->list, &tplg->route_list);
strcpy(elem->id, "line");
- elem->type = OBJECT_TYPE_DAPM_GRAPH;
+ elem->type = SND_TPLG_TYPE_DAPM_GRAPH;
elem->size = sizeof(*line);
line = calloc(1, sizeof(*line));
const char *id, *val = NULL;
int widget_type, err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_DAPM_WIDGET);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_DAPM_WIDGET);
if (!elem)
return -ENOMEM;
if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- tplg_ref_add(elem, OBJECT_TYPE_DATA, val);
+ tplg_ref_add(elem, SND_TPLG_TYPE_DATA, val);
tplg_dbg("\t%s: %s\n", id, val);
continue;
}
int err = 0;
struct tplg_elem *elem;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_DATA);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_DATA);
if (!elem)
return -ENOMEM;
priv_data_size = ref->data->size;
switch (elem->type) {
- case OBJECT_TYPE_MIXER:
+ case SND_TPLG_TYPE_MIXER:
elem->mixer_ctrl = realloc(elem->mixer_ctrl,
elem->size + priv_data_size);
if (!elem->mixer_ctrl)
priv = &elem->mixer_ctrl->priv;
break;
- case OBJECT_TYPE_ENUM:
+ case SND_TPLG_TYPE_ENUM:
elem->enum_ctrl = realloc(elem->enum_ctrl,
elem->size + priv_data_size);
if (!elem->enum_ctrl)
priv = &elem->enum_ctrl->priv;
break;
- case OBJECT_TYPE_BYTES:
+ case SND_TPLG_TYPE_BYTES:
elem->bytes_ext = realloc(elem->bytes_ext,
elem->size + priv_data_size);
if (!elem->bytes_ext)
break;
- case OBJECT_TYPE_DAPM_WIDGET:
+ case SND_TPLG_TYPE_DAPM_WIDGET:
elem->widget = realloc(elem->widget,
elem->size + priv_data_size);
if (!elem->widget)
/* create a new common element and object */
struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg,
- snd_config_t *cfg, const char *name, enum object_type type)
+ snd_config_t *cfg, const char *name, enum snd_tplg_type type)
{
struct tplg_elem *elem;
const char *id;
elem_copy_text(elem->id, name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN);
switch (type) {
- case OBJECT_TYPE_DATA:
+ case SND_TPLG_TYPE_DATA:
list_add_tail(&elem->list, &tplg->pdata_list);
break;
- case OBJECT_TYPE_TEXT:
+ case SND_TPLG_TYPE_TEXT:
list_add_tail(&elem->list, &tplg->text_list);
break;
- case OBJECT_TYPE_TLV:
+ case SND_TPLG_TYPE_TLV:
list_add_tail(&elem->list, &tplg->tlv_list);
elem->size = sizeof(struct snd_soc_tplg_ctl_tlv);
break;
- case OBJECT_TYPE_BYTES:
+ case SND_TPLG_TYPE_BYTES:
list_add_tail(&elem->list, &tplg->bytes_ext_list);
obj_size = sizeof(struct snd_soc_tplg_bytes_control);
break;
- case OBJECT_TYPE_ENUM:
+ case SND_TPLG_TYPE_ENUM:
list_add_tail(&elem->list, &tplg->enum_list);
obj_size = sizeof(struct snd_soc_tplg_enum_control);
break;
- case OBJECT_TYPE_MIXER:
+ case SND_TPLG_TYPE_MIXER:
list_add_tail(&elem->list, &tplg->mixer_list);
obj_size = sizeof(struct snd_soc_tplg_mixer_control);
break;
- case OBJECT_TYPE_DAPM_WIDGET:
+ case SND_TPLG_TYPE_DAPM_WIDGET:
list_add_tail(&elem->list, &tplg->widget_list);
obj_size = sizeof(struct snd_soc_tplg_dapm_widget);
break;
- case OBJECT_TYPE_STREAM_CONFIG:
+ case SND_TPLG_TYPE_STREAM_CONFIG:
list_add_tail(&elem->list, &tplg->pcm_config_list);
obj_size = sizeof(struct snd_soc_tplg_stream_config);
break;
- case OBJECT_TYPE_STREAM_CAPS:
+ case SND_TPLG_TYPE_STREAM_CAPS:
list_add_tail(&elem->list, &tplg->pcm_caps_list);
obj_size = sizeof(struct snd_soc_tplg_stream_caps);
break;
- case OBJECT_TYPE_PCM:
+ case SND_TPLG_TYPE_PCM:
list_add_tail(&elem->list, &tplg->pcm_list);
obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
break;
- case OBJECT_TYPE_BE:
+ case SND_TPLG_TYPE_BE:
list_add_tail(&elem->list, &tplg->be_list);
obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
break;
- case OBJECT_TYPE_CC:
+ case SND_TPLG_TYPE_CC:
list_add_tail(&elem->list, &tplg->cc_list);
obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
break;
if (err < 0)
return err;
- err = tplg_build_pcm_dai(tplg, OBJECT_TYPE_PCM);
+ err = tplg_build_pcm_dai(tplg, SND_TPLG_TYPE_PCM);
if (err < 0)
return err;
- err = tplg_build_pcm_dai(tplg, OBJECT_TYPE_BE);
+ err = tplg_build_pcm_dai(tplg, SND_TPLG_TYPE_BE);
if (err < 0)
return err;
- err = tplg_build_pcm_dai(tplg, OBJECT_TYPE_CC);
+ err = tplg_build_pcm_dai(tplg, SND_TPLG_TYPE_CC);
if (err < 0)
return err;
list_for_each(pos, base) {
elem = list_entry(pos, struct tplg_elem, list);
- if (elem->type != OBJECT_TYPE_PCM)
+ if (elem->type != SND_TPLG_TYPE_PCM)
return NULL;
pcm_dai = elem->pcm;
unsigned int i, j;
switch (elem->type) {
- case OBJECT_TYPE_PCM:
+ case SND_TPLG_TYPE_PCM:
pcm_dai = elem->pcm;
break;
- case OBJECT_TYPE_BE:
+ case SND_TPLG_TYPE_BE:
pcm_dai = elem->be;
break;
- case OBJECT_TYPE_CC:
+ case SND_TPLG_TYPE_CC:
pcm_dai = elem->cc;
break;
default:
capconf = &pcm_dai->capconf[i];
ref_elem = tplg_elem_lookup(&tplg->pcm_caps_list,
- capconf->caps.name, OBJECT_TYPE_STREAM_CAPS);
+ capconf->caps.name, SND_TPLG_TYPE_STREAM_CAPS);
if (ref_elem != NULL)
copy_pcm_caps(elem->id, &capconf->caps, ref_elem);
for (j = 0; j < capconf->num_configs; j++) {
ref_elem = tplg_elem_lookup(&tplg->pcm_config_list,
capconf->configs[j].name,
- OBJECT_TYPE_STREAM_CONFIG);
+ SND_TPLG_TYPE_STREAM_CONFIG);
if (ref_elem != NULL)
copy_pcm_config(elem->id,
int err = 0;
switch (type) {
- case OBJECT_TYPE_PCM:
+ case SND_TPLG_TYPE_PCM:
base = &tplg->pcm_list;
break;
- case OBJECT_TYPE_BE:
+ case SND_TPLG_TYPE_BE:
base = &tplg->be_list;
break;
- case OBJECT_TYPE_CC:
+ case SND_TPLG_TYPE_CC:
base = &tplg->cc_list;
break;
default:
const char *id;
int err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_STREAM_CONFIG);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_STREAM_CONFIG);
if (!elem)
return -ENOMEM;
char *s;
int err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_STREAM_CAPS);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_STREAM_CAPS);
if (!elem)
return -ENOMEM;
const char *id, *value;
int err, stream;
- if (elem->type == OBJECT_TYPE_PCM)
+ if (elem->type == SND_TPLG_TYPE_PCM)
pcm_dai = elem->pcm;
- else if (elem->type == OBJECT_TYPE_BE)
+ else if (elem->type == SND_TPLG_TYPE_BE)
pcm_dai = elem->be;
- else if (elem->type == OBJECT_TYPE_CC)
+ else if (elem->type == SND_TPLG_TYPE_CC)
pcm_dai = elem->cc;
else
return -EINVAL;
const char *id, *val = NULL;
int err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_PCM);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_PCM);
if (!elem)
return -ENOMEM;
const char *id, *val = NULL;
int err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_BE);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_BE);
if (!elem)
return -ENOMEM;
const char *id, *val = NULL;
int err;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_CC);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_CC);
if (!elem)
return -ENOMEM;
int err = 0;
struct tplg_elem *elem;
- elem = tplg_elem_new_common(tplg, cfg, NULL, OBJECT_TYPE_TEXT);
+ elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_TEXT);
if (!elem)
return -ENOMEM;
struct tplg_ref;
struct tplg_elem;
-/* internal topology object type not used by kernel */
-enum object_type {
- OBJECT_TYPE_TLV = 0,
- OBJECT_TYPE_MIXER,
- OBJECT_TYPE_ENUM,
- OBJECT_TYPE_TEXT,
- OBJECT_TYPE_DATA,
- OBJECT_TYPE_BYTES,
- OBJECT_TYPE_STREAM_CONFIG,
- OBJECT_TYPE_STREAM_CAPS,
- OBJECT_TYPE_PCM,
- OBJECT_TYPE_DAPM_WIDGET,
- OBJECT_TYPE_DAPM_GRAPH,
- OBJECT_TYPE_BE,
- OBJECT_TYPE_CC,
- OBJECT_TYPE_MANIFEST,
+/** Topology object types */
+enum snd_tplg_type {
+ SND_TPLG_TYPE_TLV = 0, /*!< TLV Data */
+ SND_TPLG_TYPE_MIXER, /*!< Mixer control*/
+ SND_TPLG_TYPE_ENUM, /*!< Enumerated control */
+ SND_TPLG_TYPE_TEXT, /*!< Text data */
+ SND_TPLG_TYPE_DATA, /*!< Private data */
+ SND_TPLG_TYPE_BYTES, /*!< Byte control */
+ SND_TPLG_TYPE_STREAM_CONFIG, /*!< PCM Stream configuration */
+ SND_TPLG_TYPE_STREAM_CAPS, /*!< PCM Stream capabilities */
+ SND_TPLG_TYPE_PCM, /*!< PCM stream device */
+ SND_TPLG_TYPE_DAPM_WIDGET, /*!< DAPM widget */
+ SND_TPLG_TYPE_DAPM_GRAPH, /*!< DAPM graph elements */
+ SND_TPLG_TYPE_BE, /*!< BE DAI link */
+ SND_TPLG_TYPE_CC, /*!< Hostless codec <-> codec link */
+ SND_TPLG_TYPE_MANIFEST, /*!< Topology manifest */
};
struct snd_tplg {
char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
int index;
- enum object_type type;
+ enum snd_tplg_type type;
int size; /* total size of this object inc pdata and ref objects */
int compound_elem; /* dont write this element as individual elem */
const char* id,
unsigned int type);
struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg,
- snd_config_t *cfg, const char *name, enum object_type type);
+ snd_config_t *cfg, const char *name, enum snd_tplg_type type);
static inline void elem_copy_text(char *dest, const char *src, int len)
{