]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ASoC: ti: j721e-evm: Convert the audio domain IDs to enum
authorPeter Ujfalusi <peter.ujfalusi@gmail.com>
Sat, 17 Jul 2021 12:28:20 +0000 (15:28 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 19 Jul 2021 15:01:45 +0000 (16:01 +0100)
Convert the J721E_AUDIO_DOMAIN_* from defines to enum to make it possible
to extend the number of domains in the future.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20210717122820.1467-4-peter.ujfalusi@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ti/j721e-evm.c

index a7c0484d44ec79dbf74d2a02aa96f2d3958e7da9..7d4e2e241f6a69adf7f6fbe7c78bdbfcc0f0005f 100644 (file)
  */
 #define J721E_CODEC_CONF_COUNT 5
 
-#define J721E_AUDIO_DOMAIN_CPB 0
-#define J721E_AUDIO_DOMAIN_IVI 1
+enum j721e_audio_domain_id {
+       J721E_AUDIO_DOMAIN_CPB = 0,
+       J721E_AUDIO_DOMAIN_IVI,
+       J721E_AUDIO_DOMAIN_LAST,
+};
 
 #define J721E_CLK_PARENT_48000 0
 #define J721E_CLK_PARENT_44100 1
@@ -78,7 +81,7 @@ struct j721e_priv {
        u32 pll_rates[2];
        unsigned int hsdiv_rates[2];
 
-       struct j721e_audio_domain audio_domains[2];
+       struct j721e_audio_domain audio_domains[J721E_AUDIO_DOMAIN_LAST];
 
        struct mutex mutex;
 };
@@ -199,9 +202,8 @@ static int j721e_configure_refclk(struct j721e_priv *priv,
 
        if (priv->hsdiv_rates[domain->parent_clk_id] != scki) {
                dev_dbg(priv->dev,
-                       "%s configuration for %u Hz: %s, %dxFS (SCKI: %u Hz)\n",
-                       audio_domain == J721E_AUDIO_DOMAIN_CPB ? "CPB" : "IVI",
-                       rate,
+                       "domain%u configuration for %u Hz: %s, %dxFS (SCKI: %u Hz)\n",
+                       audio_domain, rate,
                        clk_id == J721E_CLK_PARENT_48000 ? "PLL4" : "PLL15",
                        ratios_for_pcm3168a[i], scki);
 
@@ -263,10 +265,11 @@ static int j721e_audio_startup(struct snd_pcm_substream *substream)
 
        domain->active++;
 
-       if (priv->audio_domains[J721E_AUDIO_DOMAIN_CPB].rate)
-               active_rate = priv->audio_domains[J721E_AUDIO_DOMAIN_CPB].rate;
-       else
-               active_rate = priv->audio_domains[J721E_AUDIO_DOMAIN_IVI].rate;
+       for (i = 0; i < J721E_AUDIO_DOMAIN_LAST; i++) {
+               active_rate = priv->audio_domains[i].rate;
+               if (active_rate)
+                       break;
+       }
 
        if (active_rate)
                ret = snd_pcm_hw_constraint_single(substream->runtime,
@@ -819,7 +822,7 @@ static int j721e_soc_probe(struct platform_device *pdev)
        struct snd_soc_card *card;
        const struct of_device_id *match;
        struct j721e_priv *priv;
-       int link_cnt, conf_cnt, ret;
+       int link_cnt, conf_cnt, ret, i;
 
        if (!node) {
                dev_err(&pdev->dev, "of node is missing.\n");
@@ -843,8 +846,9 @@ static int j721e_soc_probe(struct platform_device *pdev)
        if (!priv->dai_links)
                return -ENOMEM;
 
-       priv->audio_domains[J721E_AUDIO_DOMAIN_CPB].parent_clk_id = -1;
-       priv->audio_domains[J721E_AUDIO_DOMAIN_IVI].parent_clk_id = -1;
+       for (i = 0; i < J721E_AUDIO_DOMAIN_LAST; i++)
+               priv->audio_domains[i].parent_clk_id = -1;
+
        priv->dev = &pdev->dev;
        card = &priv->card;
        card->dev = &pdev->dev;