ASoC: pcm1681: Improve the logic for de-emphasis sampling rate selection
authorAxel Lin <axel.lin@ingics.com>
Thu, 23 Jul 2015 15:23:35 +0000 (23:23 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 24 Jul 2015 10:35:13 +0000 (11:35 +0100)
Slightly improve the logic for de-emphasis sampling rate selection by break
out the loop if the rate is matched.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/pcm1681.c

index e7ba557979cb2589439234d6bd0ddbbdc38985e5..490970e5ab8cc03804fd90ba373fb00a6829a742 100644 (file)
@@ -95,17 +95,22 @@ static int pcm1681_set_deemph(struct snd_soc_codec *codec)
        struct pcm1681_private *priv = snd_soc_codec_get_drvdata(codec);
        int i = 0, val = -1, enable = 0;
 
-       if (priv->deemph)
-               for (i = 0; i < ARRAY_SIZE(pcm1681_deemph); i++)
-                       if (pcm1681_deemph[i] == priv->rate)
+       if (priv->deemph) {
+               for (i = 0; i < ARRAY_SIZE(pcm1681_deemph); i++) {
+                       if (pcm1681_deemph[i] == priv->rate) {
                                val = i;
+                               break;
+                       }
+               }
+       }
 
        if (val != -1) {
                regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL,
                                   PCM1681_DEEMPH_RATE_MASK, val << 3);
                enable = 1;
-       } else
+       } else {
                enable = 0;
+       }
 
        /* enable/disable deemphasis functionality */
        return regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL,