aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tvaudio.c
diff options
context:
space:
mode:
authorDaniel Glöckner <daniel-gl@gmx.net>2012-06-09 20:43:51 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-06-18 19:46:34 -0400
commitf952848ddd441003ebd312533edf800f4c77a9aa (patch)
treee60bc06cdcb08033ddaba4ca50a619610c143974 /drivers/media/video/tvaudio.c
parentd59a14e2f9642573c02654cb814c96a2e9854a94 (diff)
[media] tvaudio: fix tda8425_setmode
The passed audio mode is not a bitfield. Signed-off-by: Daniel Glöckner <daniel-gl@gmx.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/tvaudio.c')
-rw-r--r--drivers/media/video/tvaudio.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
index 9b85e2a44762..76a8cbe2085d 100644
--- a/drivers/media/video/tvaudio.c
+++ b/drivers/media/video/tvaudio.c
@@ -1230,21 +1230,25 @@ static void tda8425_setmode(struct CHIPSTATE *chip, int mode)
1230{ 1230{
1231 int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1; 1231 int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1;
1232 1232
1233 if (mode & V4L2_TUNER_MODE_LANG1) { 1233 switch (mode) {
1234 case V4L2_TUNER_MODE_LANG1:
1234 s1 |= TDA8425_S1_ML_SOUND_A; 1235 s1 |= TDA8425_S1_ML_SOUND_A;
1235 s1 |= TDA8425_S1_STEREO_PSEUDO; 1236 s1 |= TDA8425_S1_STEREO_PSEUDO;
1236 1237 break;
1237 } else if (mode & V4L2_TUNER_MODE_LANG2) { 1238 case V4L2_TUNER_MODE_LANG2:
1238 s1 |= TDA8425_S1_ML_SOUND_B; 1239 s1 |= TDA8425_S1_ML_SOUND_B;
1239 s1 |= TDA8425_S1_STEREO_PSEUDO; 1240 s1 |= TDA8425_S1_STEREO_PSEUDO;
1240 1241 break;
1241 } else { 1242 case V4L2_TUNER_MODE_MONO:
1242 s1 |= TDA8425_S1_ML_STEREO; 1243 s1 |= TDA8425_S1_ML_STEREO;
1243 1244 s1 |= TDA8425_S1_STEREO_MONO;
1244 if (mode & V4L2_TUNER_MODE_MONO) 1245 break;
1245 s1 |= TDA8425_S1_STEREO_MONO; 1246 case V4L2_TUNER_MODE_STEREO:
1246 if (mode & V4L2_TUNER_MODE_STEREO) 1247 s1 |= TDA8425_S1_ML_STEREO;
1247 s1 |= TDA8425_S1_STEREO_SPATIAL; 1248 s1 |= TDA8425_S1_STEREO_SPATIAL;
1249 break;
1250 default:
1251 return;
1248 } 1252 }
1249 chip_write(chip,TDA8425_S1,s1); 1253 chip_write(chip,TDA8425_S1,s1);
1250} 1254}