]> git.alsa-project.org Git - alsa-lib.git/commitdiff
topology: Parse ignore_suspend property for dapm widget
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Tue, 25 May 2021 15:09:21 +0000 (17:09 +0200)
committerJaroslav Kysela <perex@perex.cz>
Sun, 29 Jan 2023 17:55:53 +0000 (18:55 +0100)
snd_soc_tplg_dapm_widget has ignore_suspend field, but there is no way
to set value for it, because we don't parse topology field for it.
Fix this by adding parsing code.

Fixes: https://github.com/alsa-project/alsa-lib/pull/230
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/topology/dapm.c

index f6a84a6035ce8c17d038a0bb6757ab446bcd41f1..1c15ce8a8ed2d64678ae93bc8df359263f73d48c 100644 (file)
@@ -605,6 +605,17 @@ int tplg_parse_dapm_widget(snd_tplg_t *tplg,
                        continue;
                }
 
+               if (strcmp(id, "ignore_suspend") == 0) {
+                       ival = snd_config_get_bool(n);
+                       if (ival < 0)
+                               return -EINVAL;
+
+                       widget->ignore_suspend = ival;
+
+                       tplg_dbg("\t%s: %s", id, val);
+                       continue;
+               }
+
                if (strcmp(id, "subseq") == 0) {
                        if (tplg_get_integer(n, &ival, 0))
                                return -EINVAL;
@@ -700,6 +711,9 @@ int tplg_save_dapm_widget(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
        if (err >= 0 && widget->invert)
                err = tplg_save_printf(dst, pfx, "\tinvert %u\n",
                                       widget->invert);
+       if (err >= 0 && widget->ignore_suspend)
+               err = tplg_save_printf(dst, pfx, "\tignore_suspend %u\n",
+                                      widget->ignore_suspend);
        if (err >= 0 && widget->subseq)
                err = tplg_save_printf(dst, pfx, "\tsubseq %u\n",
                                       widget->subseq);