ASoC: pcm512x: Rearrange operations in `hw_params()`
authorKirill Marinushkin <kmarinushkin@birdec.com>
Sun, 15 Nov 2020 12:23:04 +0000 (13:23 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 16 Nov 2020 20:03:23 +0000 (20:03 +0000)
This commit is a preparation for the next patch in the series.
It's goal is to make format check easy-to-move-out. Theoretically, more
butifications are possile in `hw_params()` func, but my intention in this
commit is to keep behaviour unchanged.

Signed-off-by: Kirill Marinushkin <kmarinushkin@birdec.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Matthias Reichl <hias@horus.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20201115122306.18164-3-kmarinushkin@birdec.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/pcm512x.c

index db3dc6a..aa55a47 100644 (file)
@@ -1204,16 +1204,8 @@ static int pcm512x_hw_params(struct snd_pcm_substream *substream,
 
        switch (pcm512x->fmt & SND_SOC_DAIFMT_MASTER_MASK) {
        case SND_SOC_DAIFMT_CBS_CFS:
-               ret = regmap_update_bits(pcm512x->regmap,
-                                        PCM512x_BCLK_LRCLK_CFG,
-                                        PCM512x_BCKP
-                                        | PCM512x_BCKO | PCM512x_LRKO,
-                                        0);
-               if (ret != 0) {
-                       dev_err(component->dev,
-                               "Failed to enable slave mode: %d\n", ret);
-                       return ret;
-               }
+               clock_output = 0;
+               master_mode = 0;
 
                ret = regmap_update_bits(pcm512x->regmap, PCM512x_ERROR_DETECT,
                                         PCM512x_DCAS, 0);
@@ -1223,7 +1215,7 @@ static int pcm512x_hw_params(struct snd_pcm_substream *substream,
                                ret);
                        return ret;
                }
-               return 0;
+               goto skip_pll;
        case SND_SOC_DAIFMT_CBM_CFM:
                clock_output = PCM512x_BCKO | PCM512x_LRKO;
                master_mode = PCM512x_RLRK | PCM512x_RBCK;
@@ -1316,25 +1308,7 @@ static int pcm512x_hw_params(struct snd_pcm_substream *substream,
                        dev_err(component->dev, "Failed to enable pll: %d\n", ret);
                        return ret;
                }
-       }
-
-       ret = regmap_update_bits(pcm512x->regmap, PCM512x_BCLK_LRCLK_CFG,
-                                PCM512x_BCKP | PCM512x_BCKO | PCM512x_LRKO,
-                                clock_output);
-       if (ret != 0) {
-               dev_err(component->dev, "Failed to enable clock output: %d\n", ret);
-               return ret;
-       }
 
-       ret = regmap_update_bits(pcm512x->regmap, PCM512x_MASTER_MODE,
-                                PCM512x_RLRK | PCM512x_RBCK,
-                                master_mode);
-       if (ret != 0) {
-               dev_err(component->dev, "Failed to enable master mode: %d\n", ret);
-               return ret;
-       }
-
-       if (pcm512x->pll_out) {
                gpio = PCM512x_G1OE << (pcm512x->pll_out - 1);
                ret = regmap_update_bits(pcm512x->regmap, PCM512x_GPIO_EN,
                                         gpio, gpio);
@@ -1368,6 +1342,23 @@ static int pcm512x_hw_params(struct snd_pcm_substream *substream,
                return ret;
        }
 
+skip_pll:
+       ret = regmap_update_bits(pcm512x->regmap, PCM512x_BCLK_LRCLK_CFG,
+                                PCM512x_BCKP | PCM512x_BCKO | PCM512x_LRKO,
+                                clock_output);
+       if (ret != 0) {
+               dev_err(component->dev, "Failed to enable clock output: %d\n", ret);
+               return ret;
+       }
+
+       ret = regmap_update_bits(pcm512x->regmap, PCM512x_MASTER_MODE,
+                                PCM512x_RLRK | PCM512x_RBCK,
+                                master_mode);
+       if (ret != 0) {
+               dev_err(component->dev, "Failed to enable master mode: %d\n", ret);
+               return ret;
+       }
+
        return 0;
 }