Commit f952848d authored by Daniel Glöckner's avatar Daniel Glöckner Committed by Mauro Carvalho Chehab

[media] tvaudio: fix tda8425_setmode

The passed audio mode is not a bitfield.
Signed-off-by: default avatarDaniel Glöckner <daniel-gl@gmx.net>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent d59a14e2
...@@ -1230,21 +1230,25 @@ static void tda8425_setmode(struct CHIPSTATE *chip, int mode) ...@@ -1230,21 +1230,25 @@ static void tda8425_setmode(struct CHIPSTATE *chip, int mode)
{ {
int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1; int s1 = chip->shadow.bytes[TDA8425_S1+1] & 0xe1;
if (mode & V4L2_TUNER_MODE_LANG1) { switch (mode) {
case V4L2_TUNER_MODE_LANG1:
s1 |= TDA8425_S1_ML_SOUND_A; s1 |= TDA8425_S1_ML_SOUND_A;
s1 |= TDA8425_S1_STEREO_PSEUDO; s1 |= TDA8425_S1_STEREO_PSEUDO;
break;
} else if (mode & V4L2_TUNER_MODE_LANG2) { case V4L2_TUNER_MODE_LANG2:
s1 |= TDA8425_S1_ML_SOUND_B; s1 |= TDA8425_S1_ML_SOUND_B;
s1 |= TDA8425_S1_STEREO_PSEUDO; s1 |= TDA8425_S1_STEREO_PSEUDO;
break;
} else { case V4L2_TUNER_MODE_MONO:
s1 |= TDA8425_S1_ML_STEREO; s1 |= TDA8425_S1_ML_STEREO;
s1 |= TDA8425_S1_STEREO_MONO;
if (mode & V4L2_TUNER_MODE_MONO) break;
s1 |= TDA8425_S1_STEREO_MONO; case V4L2_TUNER_MODE_STEREO:
if (mode & V4L2_TUNER_MODE_STEREO) s1 |= TDA8425_S1_ML_STEREO;
s1 |= TDA8425_S1_STEREO_SPATIAL; s1 |= TDA8425_S1_STEREO_SPATIAL;
break;
default:
return;
} }
chip_write(chip,TDA8425_S1,s1); chip_write(chip,TDA8425_S1,s1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment