mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	topology: rename OBJECT_TYPE_ to SND_TPLG_TYPE_
rename OBJECT_TYPE_ to SND_TPLG_TYPE_ in preparation for exporting via a new public API. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									b47cf00197
								
							
						
					
					
						commit
						634712d21c
					
				
					 9 changed files with 118 additions and 115 deletions
				
			
		| 
						 | 
					@ -141,7 +141,7 @@ static int write_elem_block(snd_tplg_t *tplg,
 | 
				
			||||||
		if (elem->compound_elem)
 | 
							if (elem->compound_elem)
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (elem->type != OBJECT_TYPE_DAPM_GRAPH)
 | 
							if (elem->type != SND_TPLG_TYPE_DAPM_GRAPH)
 | 
				
			||||||
			verbose(tplg, " %s '%s': write %d bytes\n",
 | 
								verbose(tplg, " %s '%s': write %d bytes\n",
 | 
				
			||||||
				obj_name, elem->id, elem->size);
 | 
									obj_name, elem->id, elem->size);
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
| 
						 | 
					@ -202,31 +202,31 @@ static int write_block(snd_tplg_t *tplg, struct list_head *base,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write each elem for this block */
 | 
						/* write each elem for this block */
 | 
				
			||||||
	switch (type) {
 | 
						switch (type) {
 | 
				
			||||||
	case OBJECT_TYPE_MIXER:
 | 
						case SND_TPLG_TYPE_MIXER:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_MIXER, "mixer");
 | 
								SND_SOC_TPLG_TYPE_MIXER, "mixer");
 | 
				
			||||||
	case OBJECT_TYPE_BYTES:
 | 
						case SND_TPLG_TYPE_BYTES:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_BYTES, "bytes");
 | 
								SND_SOC_TPLG_TYPE_BYTES, "bytes");
 | 
				
			||||||
	case OBJECT_TYPE_ENUM:
 | 
						case SND_TPLG_TYPE_ENUM:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_ENUM, "enum");
 | 
								SND_SOC_TPLG_TYPE_ENUM, "enum");
 | 
				
			||||||
	case OBJECT_TYPE_DAPM_GRAPH:
 | 
						case SND_TPLG_TYPE_DAPM_GRAPH:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_DAPM_GRAPH, "route");
 | 
								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,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_DAPM_WIDGET, "widget");
 | 
								SND_SOC_TPLG_TYPE_DAPM_WIDGET, "widget");
 | 
				
			||||||
	case OBJECT_TYPE_PCM:
 | 
						case SND_TPLG_TYPE_PCM:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_PCM, "pcm");
 | 
								SND_SOC_TPLG_TYPE_PCM, "pcm");
 | 
				
			||||||
	case OBJECT_TYPE_BE:
 | 
						case SND_TPLG_TYPE_BE:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_DAI_LINK, "be");
 | 
								SND_SOC_TPLG_TYPE_DAI_LINK, "be");
 | 
				
			||||||
	case OBJECT_TYPE_CC:
 | 
						case SND_TPLG_TYPE_CC:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_DAI_LINK, "cc");
 | 
								SND_SOC_TPLG_TYPE_DAI_LINK, "cc");
 | 
				
			||||||
	case OBJECT_TYPE_DATA:
 | 
						case SND_TPLG_TYPE_DATA:
 | 
				
			||||||
		return write_elem_block(tplg, base, size,
 | 
							return write_elem_block(tplg, base, size,
 | 
				
			||||||
			SND_SOC_TPLG_TYPE_PDATA, "data");
 | 
								SND_SOC_TPLG_TYPE_PDATA, "data");
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
| 
						 | 
					@ -280,7 +280,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write mixer elems. */
 | 
						/* write mixer elems. */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->mixer_list,
 | 
						ret = write_block(tplg, &tplg->mixer_list,
 | 
				
			||||||
		OBJECT_TYPE_MIXER);
 | 
							SND_TPLG_TYPE_MIXER);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write control elems %d\n", ret);
 | 
							SNDERR("failed to write control elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -288,7 +288,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write enum control elems. */
 | 
						/* write enum control elems. */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->enum_list,
 | 
						ret = write_block(tplg, &tplg->enum_list,
 | 
				
			||||||
		OBJECT_TYPE_ENUM);
 | 
							SND_TPLG_TYPE_ENUM);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write control elems %d\n", ret);
 | 
							SNDERR("failed to write control elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -296,7 +296,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write bytes extended control elems. */
 | 
						/* write bytes extended control elems. */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->bytes_ext_list,
 | 
						ret = write_block(tplg, &tplg->bytes_ext_list,
 | 
				
			||||||
		OBJECT_TYPE_BYTES);
 | 
							SND_TPLG_TYPE_BYTES);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write control elems %d\n", ret);
 | 
							SNDERR("failed to write control elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -304,7 +304,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write widget elems */
 | 
						/* write widget elems */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->widget_list,
 | 
						ret = write_block(tplg, &tplg->widget_list,
 | 
				
			||||||
		OBJECT_TYPE_DAPM_WIDGET);
 | 
							SND_TPLG_TYPE_DAPM_WIDGET);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write widget elems %d\n", ret);
 | 
							SNDERR("failed to write widget elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -312,7 +312,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write pcm elems */
 | 
						/* write pcm elems */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->pcm_list,
 | 
						ret = write_block(tplg, &tplg->pcm_list,
 | 
				
			||||||
		OBJECT_TYPE_PCM);
 | 
							SND_TPLG_TYPE_PCM);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write pcm elems %d\n", ret);
 | 
							SNDERR("failed to write pcm elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -320,7 +320,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write be elems */
 | 
						/* write be elems */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->be_list,
 | 
						ret = write_block(tplg, &tplg->be_list,
 | 
				
			||||||
		OBJECT_TYPE_BE);
 | 
							SND_TPLG_TYPE_BE);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write be elems %d\n", ret);
 | 
							SNDERR("failed to write be elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -328,7 +328,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write cc elems */
 | 
						/* write cc elems */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->cc_list,
 | 
						ret = write_block(tplg, &tplg->cc_list,
 | 
				
			||||||
		OBJECT_TYPE_CC);
 | 
							SND_TPLG_TYPE_CC);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write cc elems %d\n", ret);
 | 
							SNDERR("failed to write cc elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -336,7 +336,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write route elems */
 | 
						/* write route elems */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->route_list,
 | 
						ret = write_block(tplg, &tplg->route_list,
 | 
				
			||||||
		OBJECT_TYPE_DAPM_GRAPH);
 | 
							SND_TPLG_TYPE_DAPM_GRAPH);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write graph elems %d\n", ret);
 | 
							SNDERR("failed to write graph elems %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					@ -344,7 +344,7 @@ int tplg_write_data(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* write private data */
 | 
						/* write private data */
 | 
				
			||||||
	ret = write_block(tplg, &tplg->pdata_list,
 | 
						ret = write_block(tplg, &tplg->pdata_list,
 | 
				
			||||||
		OBJECT_TYPE_DATA);
 | 
							SND_TPLG_TYPE_DATA);
 | 
				
			||||||
	if (ret < 0) {
 | 
						if (ret < 0) {
 | 
				
			||||||
		SNDERR("failed to write private data %d\n", ret);
 | 
							SNDERR("failed to write private data %d\n", ret);
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,15 +49,15 @@ static int tplg_build_mixer_control(snd_tplg_t *tplg,
 | 
				
			||||||
		if (ref->id == NULL || ref->elem)
 | 
							if (ref->id == NULL || ref->elem)
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (ref->type == OBJECT_TYPE_TLV) {
 | 
							if (ref->type == SND_TPLG_TYPE_TLV) {
 | 
				
			||||||
			ref->elem = tplg_elem_lookup(&tplg->tlv_list,
 | 
								ref->elem = tplg_elem_lookup(&tplg->tlv_list,
 | 
				
			||||||
						ref->id, OBJECT_TYPE_TLV);
 | 
											ref->id, SND_TPLG_TYPE_TLV);
 | 
				
			||||||
			if (ref->elem)
 | 
								if (ref->elem)
 | 
				
			||||||
				 err = copy_tlv(elem, 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->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);
 | 
								 err = tplg_copy_data(elem, ref->elem);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,15 +97,15 @@ static int tplg_build_enum_control(snd_tplg_t *tplg,
 | 
				
			||||||
		if (ref->id == NULL || ref->elem)
 | 
							if (ref->id == NULL || ref->elem)
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (ref->type == OBJECT_TYPE_TEXT) {
 | 
							if (ref->type == SND_TPLG_TYPE_TEXT) {
 | 
				
			||||||
			ref->elem = tplg_elem_lookup(&tplg->text_list,
 | 
								ref->elem = tplg_elem_lookup(&tplg->text_list,
 | 
				
			||||||
						ref->id, OBJECT_TYPE_TEXT);
 | 
											ref->id, SND_TPLG_TYPE_TEXT);
 | 
				
			||||||
			if (ref->elem)
 | 
								if (ref->elem)
 | 
				
			||||||
				copy_enum_texts(elem, 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->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);
 | 
								err = tplg_copy_data(elem, ref->elem);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (!ref->elem) {
 | 
							if (!ref->elem) {
 | 
				
			||||||
| 
						 | 
					@ -135,7 +135,7 @@ static int tplg_build_bytes_control(snd_tplg_t *tplg, struct tplg_elem *elem)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* bytes control only reference one private data section */
 | 
							/* bytes control only reference one private data section */
 | 
				
			||||||
		ref->elem = tplg_elem_lookup(&tplg->pdata_list,
 | 
							ref->elem = tplg_elem_lookup(&tplg->pdata_list,
 | 
				
			||||||
			ref->id, OBJECT_TYPE_DATA);
 | 
								ref->id, SND_TPLG_TYPE_DATA);
 | 
				
			||||||
		if (!ref->elem) {
 | 
							if (!ref->elem) {
 | 
				
			||||||
			SNDERR("error: cannot find data '%s'"
 | 
								SNDERR("error: cannot find data '%s'"
 | 
				
			||||||
				" referenced by control '%s'\n",
 | 
									" referenced by control '%s'\n",
 | 
				
			||||||
| 
						 | 
					@ -260,7 +260,7 @@ int tplg_parse_tlv(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
	int err = 0;
 | 
						int err = 0;
 | 
				
			||||||
	struct tplg_elem *elem;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -294,7 +294,7 @@ int tplg_parse_control_bytes(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -365,7 +365,7 @@ int tplg_parse_control_bytes(snd_tplg_t *tplg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									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);
 | 
								tplg_dbg("\t%s: %s\n", id, val);
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -374,7 +374,7 @@ int tplg_parse_control_bytes(snd_tplg_t *tplg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			err = tplg_ref_add(elem, OBJECT_TYPE_TLV, val);
 | 
								err = tplg_ref_add(elem, SND_TPLG_TYPE_TLV, val);
 | 
				
			||||||
			if (err < 0)
 | 
								if (err < 0)
 | 
				
			||||||
				return err;
 | 
									return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -399,7 +399,7 @@ int tplg_parse_control_enum(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int err, j;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -440,7 +440,7 @@ int tplg_parse_control_enum(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									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);
 | 
								tplg_dbg("\t%s: %s\n", id, val);
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -473,7 +473,7 @@ int tplg_parse_control_enum(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									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);
 | 
								tplg_dbg("\t%s: %s\n", id, val);
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -496,7 +496,7 @@ int tplg_parse_control_mixer(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int err, j;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -584,7 +584,7 @@ int tplg_parse_control_mixer(snd_tplg_t *tplg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			err = tplg_ref_add(elem, OBJECT_TYPE_TLV, val);
 | 
								err = tplg_ref_add(elem, SND_TPLG_TYPE_TLV, val);
 | 
				
			||||||
			if (err < 0)
 | 
								if (err < 0)
 | 
				
			||||||
				return err;
 | 
									return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -598,7 +598,7 @@ int tplg_parse_control_mixer(snd_tplg_t *tplg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									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);
 | 
								tplg_dbg("\t%s: %s\n", id, val);
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,7 +74,7 @@ static int tplg_parse_dapm_mixers(snd_config_t *cfg, struct tplg_elem *elem)
 | 
				
			||||||
		if (snd_config_get_string(n, &value) < 0)
 | 
							if (snd_config_get_string(n, &value) < 0)
 | 
				
			||||||
			continue;
 | 
								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);
 | 
							tplg_dbg("\t\t %s\n", value);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -96,7 +96,7 @@ static int tplg_parse_dapm_enums(snd_config_t *cfg, struct tplg_elem *elem)
 | 
				
			||||||
		if (snd_config_get_string(n, &value) < 0)
 | 
							if (snd_config_get_string(n, &value) < 0)
 | 
				
			||||||
			continue;
 | 
								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);
 | 
							tplg_dbg("\t\t %s\n", value);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -146,23 +146,26 @@ static int tplg_build_widget(snd_tplg_t *tplg,
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		switch (ref->type) {
 | 
							switch (ref->type) {
 | 
				
			||||||
		case OBJECT_TYPE_MIXER:
 | 
							case SND_TPLG_TYPE_MIXER:
 | 
				
			||||||
 | 
								if (!ref->elem)
 | 
				
			||||||
				ref->elem = tplg_elem_lookup(&tplg->mixer_list,
 | 
									ref->elem = tplg_elem_lookup(&tplg->mixer_list,
 | 
				
			||||||
						ref->id, OBJECT_TYPE_MIXER);
 | 
											ref->id, SND_TPLG_TYPE_MIXER);
 | 
				
			||||||
			if (ref->elem)
 | 
								if (ref->elem)
 | 
				
			||||||
				err = copy_dapm_control(elem, ref->elem);
 | 
									err = copy_dapm_control(elem, ref->elem);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case OBJECT_TYPE_ENUM:
 | 
							case SND_TPLG_TYPE_ENUM:
 | 
				
			||||||
 | 
								if (!ref->elem)
 | 
				
			||||||
				ref->elem = tplg_elem_lookup(&tplg->enum_list,
 | 
									ref->elem = tplg_elem_lookup(&tplg->enum_list,
 | 
				
			||||||
						ref->id, OBJECT_TYPE_ENUM);
 | 
											ref->id, SND_TPLG_TYPE_ENUM);
 | 
				
			||||||
			if (ref->elem)
 | 
								if (ref->elem)
 | 
				
			||||||
				err = copy_dapm_control(elem, ref->elem);
 | 
									err = copy_dapm_control(elem, ref->elem);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case OBJECT_TYPE_DATA:
 | 
							case SND_TPLG_TYPE_DATA:
 | 
				
			||||||
 | 
								if (!ref->elem)
 | 
				
			||||||
				ref->elem = tplg_elem_lookup(&tplg->pdata_list,
 | 
									ref->elem = tplg_elem_lookup(&tplg->pdata_list,
 | 
				
			||||||
						ref->id, OBJECT_TYPE_DATA);
 | 
											ref->id, SND_TPLG_TYPE_DATA);
 | 
				
			||||||
			if (ref->elem)
 | 
								if (ref->elem)
 | 
				
			||||||
				err = tplg_copy_data(elem, ref->elem);
 | 
									err = tplg_copy_data(elem, ref->elem);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
| 
						 | 
					@ -195,7 +198,7 @@ int tplg_build_widgets(snd_tplg_t *tplg)
 | 
				
			||||||
	list_for_each(pos, base) {
 | 
						list_for_each(pos, base) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		elem = list_entry(pos, struct tplg_elem, list);
 | 
							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",
 | 
								SNDERR("error: invalid widget '%s'\n",
 | 
				
			||||||
				elem->id);
 | 
									elem->id);
 | 
				
			||||||
			return -EINVAL;
 | 
								return -EINVAL;
 | 
				
			||||||
| 
						 | 
					@ -223,7 +226,7 @@ int tplg_build_routes(snd_tplg_t *tplg)
 | 
				
			||||||
	list_for_each(pos, base) {
 | 
						list_for_each(pos, base) {
 | 
				
			||||||
		elem = list_entry(pos, struct tplg_elem, list);
 | 
							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",
 | 
								SNDERR("error: invalid route '%s'\n",
 | 
				
			||||||
				elem->id);
 | 
									elem->id);
 | 
				
			||||||
			return -EINVAL;
 | 
								return -EINVAL;
 | 
				
			||||||
| 
						 | 
					@ -240,7 +243,7 @@ int tplg_build_routes(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (!tplg_elem_lookup(&tplg->widget_list, route->sink,
 | 
							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",
 | 
								SNDERR("warning: undefined sink widget/stream '%s'\n",
 | 
				
			||||||
				route->sink);
 | 
									route->sink);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -248,9 +251,9 @@ int tplg_build_routes(snd_tplg_t *tplg)
 | 
				
			||||||
		/* validate control name */
 | 
							/* validate control name */
 | 
				
			||||||
		if (strlen(route->control)) {
 | 
							if (strlen(route->control)) {
 | 
				
			||||||
			if (!tplg_elem_lookup(&tplg->mixer_list,
 | 
								if (!tplg_elem_lookup(&tplg->mixer_list,
 | 
				
			||||||
				route->control, OBJECT_TYPE_MIXER) &&
 | 
									route->control, SND_TPLG_TYPE_MIXER) &&
 | 
				
			||||||
			!tplg_elem_lookup(&tplg->enum_list,
 | 
								!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",
 | 
									SNDERR("warning: Undefined mixer/enum control '%s'\n",
 | 
				
			||||||
					route->control);
 | 
										route->control);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					@ -263,7 +266,7 @@ int tplg_build_routes(snd_tplg_t *tplg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (!tplg_elem_lookup(&tplg->widget_list, route->source,
 | 
							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",
 | 
								SNDERR("warning: Undefined source widget/stream '%s'\n",
 | 
				
			||||||
				route->source);
 | 
									route->source);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -347,7 +350,7 @@ static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->route_list);
 | 
							list_add_tail(&elem->list, &tplg->route_list);
 | 
				
			||||||
		strcpy(elem->id, "line");
 | 
							strcpy(elem->id, "line");
 | 
				
			||||||
		elem->type = OBJECT_TYPE_DAPM_GRAPH;
 | 
							elem->type = SND_TPLG_TYPE_DAPM_GRAPH;
 | 
				
			||||||
		elem->size = sizeof(*line);
 | 
							elem->size = sizeof(*line);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		line = calloc(1, sizeof(*line));
 | 
							line = calloc(1, sizeof(*line));
 | 
				
			||||||
| 
						 | 
					@ -415,7 +418,7 @@ int tplg_parse_dapm_widget(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int widget_type, err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -547,7 +550,7 @@ int tplg_parse_dapm_widget(snd_tplg_t *tplg,
 | 
				
			||||||
			if (snd_config_get_string(n, &val) < 0)
 | 
								if (snd_config_get_string(n, &val) < 0)
 | 
				
			||||||
				return -EINVAL;
 | 
									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);
 | 
								tplg_dbg("\t%s: %s\n", id, val);
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -268,7 +268,7 @@ int tplg_parse_data(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
	int err = 0;
 | 
						int err = 0;
 | 
				
			||||||
	struct tplg_elem *elem;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -350,7 +350,7 @@ int tplg_copy_data(struct tplg_elem *elem, struct tplg_elem *ref)
 | 
				
			||||||
	priv_data_size = ref->data->size;
 | 
						priv_data_size = ref->data->size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch (elem->type) {
 | 
						switch (elem->type) {
 | 
				
			||||||
	case OBJECT_TYPE_MIXER:
 | 
						case SND_TPLG_TYPE_MIXER:
 | 
				
			||||||
		elem->mixer_ctrl = realloc(elem->mixer_ctrl,
 | 
							elem->mixer_ctrl = realloc(elem->mixer_ctrl,
 | 
				
			||||||
			elem->size + priv_data_size);
 | 
								elem->size + priv_data_size);
 | 
				
			||||||
		if (!elem->mixer_ctrl)
 | 
							if (!elem->mixer_ctrl)
 | 
				
			||||||
| 
						 | 
					@ -358,7 +358,7 @@ int tplg_copy_data(struct tplg_elem *elem, struct tplg_elem *ref)
 | 
				
			||||||
		priv = &elem->mixer_ctrl->priv;
 | 
							priv = &elem->mixer_ctrl->priv;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case OBJECT_TYPE_ENUM:
 | 
						case SND_TPLG_TYPE_ENUM:
 | 
				
			||||||
		elem->enum_ctrl = realloc(elem->enum_ctrl,
 | 
							elem->enum_ctrl = realloc(elem->enum_ctrl,
 | 
				
			||||||
			elem->size + priv_data_size);
 | 
								elem->size + priv_data_size);
 | 
				
			||||||
		if (!elem->enum_ctrl)
 | 
							if (!elem->enum_ctrl)
 | 
				
			||||||
| 
						 | 
					@ -366,7 +366,7 @@ int tplg_copy_data(struct tplg_elem *elem, struct tplg_elem *ref)
 | 
				
			||||||
		priv = &elem->enum_ctrl->priv;
 | 
							priv = &elem->enum_ctrl->priv;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case OBJECT_TYPE_BYTES:
 | 
						case SND_TPLG_TYPE_BYTES:
 | 
				
			||||||
		elem->bytes_ext = realloc(elem->bytes_ext,
 | 
							elem->bytes_ext = realloc(elem->bytes_ext,
 | 
				
			||||||
			elem->size + priv_data_size);
 | 
								elem->size + priv_data_size);
 | 
				
			||||||
		if (!elem->bytes_ext)
 | 
							if (!elem->bytes_ext)
 | 
				
			||||||
| 
						 | 
					@ -375,7 +375,7 @@ int tplg_copy_data(struct tplg_elem *elem, struct tplg_elem *ref)
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case OBJECT_TYPE_DAPM_WIDGET:
 | 
						case SND_TPLG_TYPE_DAPM_WIDGET:
 | 
				
			||||||
		elem->widget = realloc(elem->widget,
 | 
							elem->widget = realloc(elem->widget,
 | 
				
			||||||
			elem->size + priv_data_size);
 | 
								elem->size + priv_data_size);
 | 
				
			||||||
		if (!elem->widget)
 | 
							if (!elem->widget)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -103,7 +103,7 @@ struct tplg_elem *tplg_elem_lookup(struct list_head *base, const char* id,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* create a new common element and object */
 | 
					/* create a new common element and object */
 | 
				
			||||||
struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg,
 | 
					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;
 | 
						struct tplg_elem *elem;
 | 
				
			||||||
	const char *id;
 | 
						const char *id;
 | 
				
			||||||
| 
						 | 
					@ -126,49 +126,49 @@ struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg,
 | 
				
			||||||
		elem_copy_text(elem->id, name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN);
 | 
							elem_copy_text(elem->id, name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch (type) {
 | 
						switch (type) {
 | 
				
			||||||
	case OBJECT_TYPE_DATA:
 | 
						case SND_TPLG_TYPE_DATA:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->pdata_list);
 | 
							list_add_tail(&elem->list, &tplg->pdata_list);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_TEXT:
 | 
						case SND_TPLG_TYPE_TEXT:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->text_list);
 | 
							list_add_tail(&elem->list, &tplg->text_list);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_TLV:
 | 
						case SND_TPLG_TYPE_TLV:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->tlv_list);
 | 
							list_add_tail(&elem->list, &tplg->tlv_list);
 | 
				
			||||||
		elem->size = sizeof(struct snd_soc_tplg_ctl_tlv);
 | 
							elem->size = sizeof(struct snd_soc_tplg_ctl_tlv);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_BYTES:
 | 
						case SND_TPLG_TYPE_BYTES:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->bytes_ext_list);
 | 
							list_add_tail(&elem->list, &tplg->bytes_ext_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_bytes_control);
 | 
							obj_size = sizeof(struct snd_soc_tplg_bytes_control);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_ENUM:
 | 
						case SND_TPLG_TYPE_ENUM:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->enum_list);
 | 
							list_add_tail(&elem->list, &tplg->enum_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_enum_control);
 | 
							obj_size = sizeof(struct snd_soc_tplg_enum_control);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_MIXER:
 | 
						case SND_TPLG_TYPE_MIXER:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->mixer_list);
 | 
							list_add_tail(&elem->list, &tplg->mixer_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_mixer_control);
 | 
							obj_size = sizeof(struct snd_soc_tplg_mixer_control);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_DAPM_WIDGET:
 | 
						case SND_TPLG_TYPE_DAPM_WIDGET:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->widget_list);
 | 
							list_add_tail(&elem->list, &tplg->widget_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_dapm_widget);
 | 
							obj_size = sizeof(struct snd_soc_tplg_dapm_widget);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_STREAM_CONFIG:
 | 
						case SND_TPLG_TYPE_STREAM_CONFIG:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->pcm_config_list);
 | 
							list_add_tail(&elem->list, &tplg->pcm_config_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_stream_config);
 | 
							obj_size = sizeof(struct snd_soc_tplg_stream_config);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_STREAM_CAPS:
 | 
						case SND_TPLG_TYPE_STREAM_CAPS:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->pcm_caps_list);
 | 
							list_add_tail(&elem->list, &tplg->pcm_caps_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_stream_caps);
 | 
							obj_size = sizeof(struct snd_soc_tplg_stream_caps);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_PCM:
 | 
						case SND_TPLG_TYPE_PCM:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->pcm_list);
 | 
							list_add_tail(&elem->list, &tplg->pcm_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
 | 
							obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_BE:
 | 
						case SND_TPLG_TYPE_BE:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->be_list);
 | 
							list_add_tail(&elem->list, &tplg->be_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
 | 
							obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_CC:
 | 
						case SND_TPLG_TYPE_CC:
 | 
				
			||||||
		list_add_tail(&elem->list, &tplg->cc_list);
 | 
							list_add_tail(&elem->list, &tplg->cc_list);
 | 
				
			||||||
		obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
 | 
							obj_size = sizeof(struct snd_soc_tplg_pcm_dai);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -241,15 +241,15 @@ static int tplg_build_integ(snd_tplg_t *tplg)
 | 
				
			||||||
	if (err <  0)
 | 
						if (err <  0)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = tplg_build_pcm_dai(tplg, OBJECT_TYPE_PCM);
 | 
						err = tplg_build_pcm_dai(tplg, SND_TPLG_TYPE_PCM);
 | 
				
			||||||
	if (err <  0)
 | 
						if (err <  0)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = tplg_build_pcm_dai(tplg, OBJECT_TYPE_BE);
 | 
						err = tplg_build_pcm_dai(tplg, SND_TPLG_TYPE_BE);
 | 
				
			||||||
	if (err <  0)
 | 
						if (err <  0)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = tplg_build_pcm_dai(tplg, OBJECT_TYPE_CC);
 | 
						err = tplg_build_pcm_dai(tplg, SND_TPLG_TYPE_CC);
 | 
				
			||||||
	if (err <  0)
 | 
						if (err <  0)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@ struct tplg_elem *lookup_pcm_dai_stream(struct list_head *base, const char* id)
 | 
				
			||||||
	list_for_each(pos, base) {
 | 
						list_for_each(pos, base) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		elem = list_entry(pos, struct tplg_elem, list);
 | 
							elem = list_entry(pos, struct tplg_elem, list);
 | 
				
			||||||
		if (elem->type != OBJECT_TYPE_PCM)
 | 
							if (elem->type != SND_TPLG_TYPE_PCM)
 | 
				
			||||||
			return NULL;
 | 
								return NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pcm_dai = elem->pcm;
 | 
							pcm_dai = elem->pcm;
 | 
				
			||||||
| 
						 | 
					@ -74,13 +74,13 @@ static int tplg_build_pcm_cfg_caps(snd_tplg_t *tplg, struct tplg_elem *elem)
 | 
				
			||||||
	unsigned int i, j;
 | 
						unsigned int i, j;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch (elem->type) {
 | 
						switch (elem->type) {
 | 
				
			||||||
	case OBJECT_TYPE_PCM:
 | 
						case SND_TPLG_TYPE_PCM:
 | 
				
			||||||
		pcm_dai = elem->pcm;
 | 
							pcm_dai = elem->pcm;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_BE:
 | 
						case SND_TPLG_TYPE_BE:
 | 
				
			||||||
		pcm_dai = elem->be;
 | 
							pcm_dai = elem->be;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_CC:
 | 
						case SND_TPLG_TYPE_CC:
 | 
				
			||||||
		pcm_dai = elem->cc;
 | 
							pcm_dai = elem->cc;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
| 
						 | 
					@ -91,7 +91,7 @@ static int tplg_build_pcm_cfg_caps(snd_tplg_t *tplg, struct tplg_elem *elem)
 | 
				
			||||||
		capconf = &pcm_dai->capconf[i];
 | 
							capconf = &pcm_dai->capconf[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ref_elem = tplg_elem_lookup(&tplg->pcm_caps_list,
 | 
							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)
 | 
							if (ref_elem != NULL)
 | 
				
			||||||
			copy_pcm_caps(elem->id, &capconf->caps, ref_elem);
 | 
								copy_pcm_caps(elem->id, &capconf->caps, ref_elem);
 | 
				
			||||||
| 
						 | 
					@ -99,7 +99,7 @@ static int tplg_build_pcm_cfg_caps(snd_tplg_t *tplg, struct tplg_elem *elem)
 | 
				
			||||||
		for (j = 0; j < capconf->num_configs; j++) {
 | 
							for (j = 0; j < capconf->num_configs; j++) {
 | 
				
			||||||
			ref_elem = tplg_elem_lookup(&tplg->pcm_config_list,
 | 
								ref_elem = tplg_elem_lookup(&tplg->pcm_config_list,
 | 
				
			||||||
				capconf->configs[j].name,
 | 
									capconf->configs[j].name,
 | 
				
			||||||
				OBJECT_TYPE_STREAM_CONFIG);
 | 
									SND_TPLG_TYPE_STREAM_CONFIG);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (ref_elem != NULL)
 | 
								if (ref_elem != NULL)
 | 
				
			||||||
				copy_pcm_config(elem->id,
 | 
									copy_pcm_config(elem->id,
 | 
				
			||||||
| 
						 | 
					@ -118,13 +118,13 @@ int tplg_build_pcm_dai(snd_tplg_t *tplg, unsigned int type)
 | 
				
			||||||
	int err = 0;
 | 
						int err = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch (type) {
 | 
						switch (type) {
 | 
				
			||||||
	case OBJECT_TYPE_PCM:
 | 
						case SND_TPLG_TYPE_PCM:
 | 
				
			||||||
		base = &tplg->pcm_list;
 | 
							base = &tplg->pcm_list;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_BE:
 | 
						case SND_TPLG_TYPE_BE:
 | 
				
			||||||
		base = &tplg->be_list;
 | 
							base = &tplg->be_list;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OBJECT_TYPE_CC:
 | 
						case SND_TPLG_TYPE_CC:
 | 
				
			||||||
		base = &tplg->cc_list;
 | 
							base = &tplg->cc_list;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
| 
						 | 
					@ -228,7 +228,7 @@ int tplg_parse_pcm_config(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id;
 | 
						const char *id;
 | 
				
			||||||
	int err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -294,7 +294,7 @@ int tplg_parse_pcm_caps(snd_tplg_t *tplg,
 | 
				
			||||||
	char *s;
 | 
						char *s;
 | 
				
			||||||
	int err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -396,11 +396,11 @@ int tplg_parse_pcm_cap_cfg(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
	const char *id, *value;
 | 
						const char *id, *value;
 | 
				
			||||||
	int err, stream;
 | 
						int err, stream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (elem->type == OBJECT_TYPE_PCM)
 | 
						if (elem->type == SND_TPLG_TYPE_PCM)
 | 
				
			||||||
		pcm_dai = elem->pcm;
 | 
							pcm_dai = elem->pcm;
 | 
				
			||||||
	else if (elem->type == OBJECT_TYPE_BE)
 | 
						else if (elem->type == SND_TPLG_TYPE_BE)
 | 
				
			||||||
		pcm_dai = elem->be;
 | 
							pcm_dai = elem->be;
 | 
				
			||||||
	else if (elem->type == OBJECT_TYPE_CC)
 | 
						else if (elem->type == SND_TPLG_TYPE_CC)
 | 
				
			||||||
		pcm_dai = elem->cc;
 | 
							pcm_dai = elem->cc;
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		return -EINVAL;
 | 
							return -EINVAL;
 | 
				
			||||||
| 
						 | 
					@ -461,7 +461,7 @@ int tplg_parse_pcm(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -524,7 +524,7 @@ int tplg_parse_be(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -587,7 +587,7 @@ int tplg_parse_cc(snd_tplg_t *tplg,
 | 
				
			||||||
	const char *id, *val = NULL;
 | 
						const char *id, *val = NULL;
 | 
				
			||||||
	int err;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@ int tplg_parse_text(snd_tplg_t *tplg, snd_config_t *cfg,
 | 
				
			||||||
	int err = 0;
 | 
						int err = 0;
 | 
				
			||||||
	struct tplg_elem *elem;
 | 
						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)
 | 
						if (!elem)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,22 +40,22 @@
 | 
				
			||||||
struct tplg_ref;
 | 
					struct tplg_ref;
 | 
				
			||||||
struct tplg_elem;
 | 
					struct tplg_elem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* internal topology object type not used by kernel */
 | 
					/** Topology object types */
 | 
				
			||||||
enum object_type {
 | 
					enum snd_tplg_type {
 | 
				
			||||||
	OBJECT_TYPE_TLV = 0,
 | 
						SND_TPLG_TYPE_TLV = 0,		/*!< TLV Data */
 | 
				
			||||||
	OBJECT_TYPE_MIXER,
 | 
						SND_TPLG_TYPE_MIXER,		/*!< Mixer control*/
 | 
				
			||||||
	OBJECT_TYPE_ENUM,
 | 
						SND_TPLG_TYPE_ENUM,		/*!< Enumerated control */
 | 
				
			||||||
	OBJECT_TYPE_TEXT,
 | 
						SND_TPLG_TYPE_TEXT,		/*!< Text data */
 | 
				
			||||||
	OBJECT_TYPE_DATA,
 | 
						SND_TPLG_TYPE_DATA,		/*!< Private data */
 | 
				
			||||||
	OBJECT_TYPE_BYTES,
 | 
						SND_TPLG_TYPE_BYTES,		/*!< Byte control */
 | 
				
			||||||
	OBJECT_TYPE_STREAM_CONFIG,
 | 
						SND_TPLG_TYPE_STREAM_CONFIG,	/*!< PCM Stream configuration */
 | 
				
			||||||
	OBJECT_TYPE_STREAM_CAPS,
 | 
						SND_TPLG_TYPE_STREAM_CAPS,	/*!< PCM Stream capabilities */
 | 
				
			||||||
	OBJECT_TYPE_PCM,
 | 
						SND_TPLG_TYPE_PCM,		/*!< PCM stream device */
 | 
				
			||||||
	OBJECT_TYPE_DAPM_WIDGET,
 | 
						SND_TPLG_TYPE_DAPM_WIDGET,	/*!< DAPM widget */
 | 
				
			||||||
	OBJECT_TYPE_DAPM_GRAPH,
 | 
						SND_TPLG_TYPE_DAPM_GRAPH,	/*!< DAPM graph elements */
 | 
				
			||||||
	OBJECT_TYPE_BE,
 | 
						SND_TPLG_TYPE_BE,		/*!< BE DAI link */
 | 
				
			||||||
	OBJECT_TYPE_CC,
 | 
						SND_TPLG_TYPE_CC,		/*!< Hostless codec <-> codec link */
 | 
				
			||||||
	OBJECT_TYPE_MANIFEST,
 | 
						SND_TPLG_TYPE_MANIFEST,		/*!< Topology manifest */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct snd_tplg {
 | 
					struct snd_tplg {
 | 
				
			||||||
| 
						 | 
					@ -114,7 +114,7 @@ struct tplg_elem {
 | 
				
			||||||
	char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
 | 
						char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int index;
 | 
						int index;
 | 
				
			||||||
	enum object_type type;
 | 
						enum snd_tplg_type type;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int size; /* total size of this object inc pdata and ref objects */
 | 
						int size; /* total size of this object inc pdata and ref objects */
 | 
				
			||||||
	int compound_elem; /* dont write this element as individual elem */
 | 
						int compound_elem; /* dont write this element as individual elem */
 | 
				
			||||||
| 
						 | 
					@ -217,7 +217,7 @@ struct tplg_elem *tplg_elem_lookup(struct list_head *base,
 | 
				
			||||||
				const char* id,
 | 
									const char* id,
 | 
				
			||||||
				unsigned int type);
 | 
									unsigned int type);
 | 
				
			||||||
struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg,
 | 
					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)
 | 
					static inline void elem_copy_text(char *dest, const char *src, int len)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue