ASoC: soc-core: enable "dai-format" on snd_soc_of_parse_daifmt()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 20 Apr 2017 01:33:24 +0000 (01:33 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 17 May 2017 09:21:19 +0000 (10:21 +0100)
Current snd_soc_of_parse_daifmt() detects [prefix]format, but
"format" was unclear in some case. This patch checks "dai-format"
first, and try to check "[prefix]format" if "dai-format" was not
exist.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index aae099c0e50280d67f153d6769ac4237d531e169..ab7a07f86ab8dd9966a97c9e1e87321826b03626 100644 (file)
@@ -3960,11 +3960,15 @@ unsigned int snd_soc_of_parse_daifmt(struct device_node *np,
                prefix = "";
 
        /*
-        * check "[prefix]format = xxx"
+        * check "dai-format = xxx"
+        * or    "[prefix]format = xxx"
         * SND_SOC_DAIFMT_FORMAT_MASK area
         */
-       snprintf(prop, sizeof(prop), "%sformat", prefix);
-       ret = of_property_read_string(np, prop, &str);
+       ret = of_property_read_string(np, "dai-format", &str);
+       if (ret < 0) {
+               snprintf(prop, sizeof(prop), "%sformat", prefix);
+               ret = of_property_read_string(np, prop, &str);
+       }
        if (ret == 0) {
                for (i = 0; i < ARRAY_SIZE(of_fmt_table); i++) {
                        if (strcmp(str, of_fmt_table[i].name) == 0) {