]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 14 Jun 2021 00:58:22 +0000 (09:58 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 21 Jun 2021 12:05:21 +0000 (13:05 +0100)
This patch switch to use snd_soc_daifmt_parse_format/clock_provider() from
snd_soc_of_parse_daifmt().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/871r95w9ch.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-card-utils.c

index fa1247f0dda1ec68003a5f718b61e1075bb7ea01..677f7da93b4bb86aa53b9e08e1ad596c227a33cc 100644 (file)
@@ -61,10 +61,9 @@ int asoc_simple_parse_daifmt(struct device *dev,
        struct device_node *framemaster = NULL;
        unsigned int daifmt;
 
-       daifmt = snd_soc_of_parse_daifmt(node, prefix,
-                                        &bitclkmaster, &framemaster);
-       daifmt &= ~SND_SOC_DAIFMT_MASTER_MASK;
+       daifmt = snd_soc_daifmt_parse_format(node, prefix);
 
+       snd_soc_daifmt_parse_clock_provider_as_phandle(node, prefix, &bitclkmaster, &framemaster);
        if (!bitclkmaster && !framemaster) {
                /*
                 * No dai-link level and master setting was not found from
@@ -73,15 +72,10 @@ int asoc_simple_parse_daifmt(struct device *dev,
                 */
                dev_dbg(dev, "Revert to legacy daifmt parsing\n");
 
-               daifmt = snd_soc_of_parse_daifmt(codec, NULL, NULL, NULL) |
-                       (daifmt & ~SND_SOC_DAIFMT_CLOCK_MASK);
+               daifmt |= snd_soc_daifmt_parse_clock_provider_as_flag(codec, NULL);
        } else {
-               if (codec == bitclkmaster)
-                       daifmt |= (codec == framemaster) ?
-                               SND_SOC_DAIFMT_CBM_CFM : SND_SOC_DAIFMT_CBM_CFS;
-               else
-                       daifmt |= (codec == framemaster) ?
-                               SND_SOC_DAIFMT_CBS_CFM : SND_SOC_DAIFMT_CBS_CFS;
+               daifmt |= snd_soc_daifmt_clock_provider_from_bitmap(
+                               ((codec == bitclkmaster) << 4) | (codec == framemaster));
        }
 
        of_node_put(bitclkmaster);