summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/pcm1681.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-01-24 20:07:05 +0400
committerMark Brown <broonie@linaro.org>2014-02-03 16:55:43 +0400
commit50a68fb4bc2516f593ceffa6617c93090d335f31 (patch)
treeae8a34ce50c9a5f9874277403457a2df1749b9e7 /sound/soc/codecs/pcm1681.c
parent38dbfb59d1175ef458d006556061adeaa8751b72 (diff)
downloadlinux-50a68fb4bc2516f593ceffa6617c93090d335f31.tar.xz
ASoC: pcm1681: Convert to params_width()
This will help support future enhancements in the way we negotiate parameters in the core. Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs/pcm1681.c')
-rw-r--r--sound/soc/codecs/pcm1681.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/sound/soc/codecs/pcm1681.c b/sound/soc/codecs/pcm1681.c
index 73f9c3630e2c..e427544183d7 100644
--- a/sound/soc/codecs/pcm1681.c
+++ b/sound/soc/codecs/pcm1681.c
@@ -172,16 +172,21 @@ static int pcm1681_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_codec *codec = dai->codec;
struct pcm1681_private *priv = snd_soc_codec_get_drvdata(codec);
int val = 0, ret;
- int pcm_format = params_format(params);
priv->rate = params_rate(params);
switch (priv->format & SND_SOC_DAIFMT_FORMAT_MASK) {
case SND_SOC_DAIFMT_RIGHT_J:
- if (pcm_format == SNDRV_PCM_FORMAT_S24_LE)
- val = 0x00;
- else if (pcm_format == SNDRV_PCM_FORMAT_S16_LE)
- val = 0x03;
+ switch (params_width(params)) {
+ case 24:
+ val = 0;
+ break;
+ case 16:
+ val = 3;
+ break;
+ default:
+ return -EINVAL;
+ }
break;
case SND_SOC_DAIFMT_I2S:
val = 0x04;