[alsa-devel] [PATCH] topology: Add support for widget byte controls
Takashi Iwai
tiwai at suse.de
Mon Mar 14 16:58:48 CET 2016
On Mon, 14 Mar 2016 09:07:38 +0100,
Liam Girdwood wrote:
>
> Add support for DAPM widgets to include bytes controls.
>
> Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
Applied, thanks.
Takashi
> ---
> src/topology/dapm.c | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/src/topology/dapm.c b/src/topology/dapm.c
> index 14969ee..278d605 100644
> --- a/src/topology/dapm.c
> +++ b/src/topology/dapm.c
> @@ -103,6 +103,28 @@ static int tplg_parse_dapm_enums(snd_config_t *cfg, struct tplg_elem *elem)
> return 0;
> }
>
> +static int tplg_parse_dapm_bytes(snd_config_t *cfg, struct tplg_elem *elem)
> +{
> + snd_config_iterator_t i, next;
> + snd_config_t *n;
> + const char *value = NULL;
> +
> + tplg_dbg(" DAPM Bytes Controls: %s\n", elem->id);
> +
> + snd_config_for_each(i, next, cfg) {
> + n = snd_config_iterator_entry(i);
> +
> + /* get value */
> + if (snd_config_get_string(n, &value) < 0)
> + continue;
> +
> + tplg_ref_add(elem, SND_TPLG_TYPE_BYTES, value);
> + tplg_dbg("\t\t %s\n", value);
> + }
> +
> + return 0;
> +}
> +
> /* move referenced controls to the widget */
> static int copy_dapm_control(struct tplg_elem *elem, struct tplg_elem *ref)
> {
> @@ -567,6 +589,14 @@ int tplg_parse_dapm_widget(snd_tplg_t *tplg,
> continue;
> }
>
> + if (strcmp(id, "bytes") == 0) {
> + err = tplg_parse_dapm_bytes(n, elem);
> + if (err < 0)
> + return err;
> +
> + continue;
> + }
> +
> if (strcmp(id, "data") == 0) {
> if (snd_config_get_string(n, &val) < 0)
> return -EINVAL;
> --
> 2.5.0
>
More information about the Alsa-devel
mailing list