diff options
author | Axel Lin <axel.lin@ingics.com> | 2015-07-23 18:23:35 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-07-24 13:35:13 +0300 |
commit | 48f403be3eb9b603cfaf946ca7a0c76272750469 (patch) | |
tree | 2e251e54a05e97e1e3ee68e6fe99b4384ab7726a /sound/soc/codecs/pcm1681.c | |
parent | fa8173a3ef0570affde7da352de202190b3786c2 (diff) | |
download | linux-48f403be3eb9b603cfaf946ca7a0c76272750469.tar.xz |
ASoC: pcm1681: Improve the logic for de-emphasis sampling rate selection
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>
Diffstat (limited to 'sound/soc/codecs/pcm1681.c')
-rw-r--r-- | sound/soc/codecs/pcm1681.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/soc/codecs/pcm1681.c b/sound/soc/codecs/pcm1681.c index e7ba557979cb..490970e5ab8c 100644 --- a/sound/soc/codecs/pcm1681.c +++ b/sound/soc/codecs/pcm1681.c @@ -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, |