[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>
This commit is contained in:
parent
d59a14e2f9
commit
f952848ddd
|
@ -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;
|
||||||
|
|
||||||
if (mode & V4L2_TUNER_MODE_MONO)
|
|
||||||
s1 |= TDA8425_S1_STEREO_MONO;
|
s1 |= TDA8425_S1_STEREO_MONO;
|
||||||
if (mode & V4L2_TUNER_MODE_STEREO)
|
break;
|
||||||
|
case 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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue