diff options
author | Daniel Glöckner <daniel-gl@gmx.net> | 2012-06-09 20:43:51 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-06-18 19:46:34 -0400 |
commit | f952848ddd441003ebd312533edf800f4c77a9aa (patch) | |
tree | e60bc06cdcb08033ddaba4ca50a619610c143974 /drivers/media/video/tvaudio.c | |
parent | d59a14e2f9642573c02654cb814c96a2e9854a94 (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.c | 24 |
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 | } |