|
@@ -1230,21 +1230,25 @@ static void tda8425_setmode(struct CHIPSTATE *chip, int mode)
|
|
|
{
|
|
|
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_STEREO_PSEUDO;
|
|
|
-
|
|
|
- } else if (mode & V4L2_TUNER_MODE_LANG2) {
|
|
|
+ break;
|
|
|
+ case V4L2_TUNER_MODE_LANG2:
|
|
|
s1 |= TDA8425_S1_ML_SOUND_B;
|
|
|
s1 |= TDA8425_S1_STEREO_PSEUDO;
|
|
|
-
|
|
|
- } else {
|
|
|
+ break;
|
|
|
+ case V4L2_TUNER_MODE_MONO:
|
|
|
s1 |= TDA8425_S1_ML_STEREO;
|
|
|
-
|
|
|
- if (mode & V4L2_TUNER_MODE_MONO)
|
|
|
- s1 |= TDA8425_S1_STEREO_MONO;
|
|
|
- if (mode & V4L2_TUNER_MODE_STEREO)
|
|
|
- s1 |= TDA8425_S1_STEREO_SPATIAL;
|
|
|
+ s1 |= TDA8425_S1_STEREO_MONO;
|
|
|
+ break;
|
|
|
+ case V4L2_TUNER_MODE_STEREO:
|
|
|
+ s1 |= TDA8425_S1_ML_STEREO;
|
|
|
+ s1 |= TDA8425_S1_STEREO_SPATIAL;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return;
|
|
|
}
|
|
|
chip_write(chip,TDA8425_S1,s1);
|
|
|
}
|