V4L/DVB: cx88: fix checks for analog TV inputs
authoristvan_v@mailbox.hu <istvan_v@mailbox.hu>
Sat, 27 Mar 2010 12:31:32 +0000 (09:31 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 19 May 2010 15:57:21 +0000 (12:57 -0300)
The following patch fixes code that checks for CX88_VMUX_TELEVISION,
but not CX88_VMUX_CABLE. This prevented for example the audio standard
from being set when using the cable input.

Signed-off-by: Istvan Varga <istvanv@users.sourceforge.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx88/cx88-core.c
drivers/media/video/cx88/cx88-video.c

index b35411160f0456b621649f3873478b6945dbf1f7..8b21457111b18dda2c656872fed49108db37dd4a 100644 (file)
@@ -847,7 +847,8 @@ static int set_tvaudio(struct cx88_core *core)
 {
        v4l2_std_id norm = core->tvnorm;
 
-       if (CX88_VMUX_TELEVISION != INPUT(core->input).type)
+       if (CX88_VMUX_TELEVISION != INPUT(core->input).type &&
+           CX88_VMUX_CABLE != INPUT(core->input).type)
                return 0;
 
        if (V4L2_STD_PAL_BG & norm) {
index 0a3849c710f877fe0a0f8e778c5c2d50f1c7578b..f5d1d89bdc265f6a0450e74ea115487bfb69b5a6 100644 (file)
@@ -426,12 +426,13 @@ int cx88_video_mux(struct cx88_core *core, unsigned int input)
                if (core->board.audio_chip &&
                    core->board.audio_chip == V4L2_IDENT_WM8775) {
                        call_all(core, audio, s_routing,
-                                       INPUT(input).audioroute, 0, 0);
+                                INPUT(input).audioroute, 0, 0);
                }
                /* cx2388's C-ADC is connected to the tuner only.
                   When used with S-Video, that ADC is busy dealing with
                   chroma, so an external must be used for baseband audio */
-               if (INPUT(input).type != CX88_VMUX_TELEVISION ) {
+               if (INPUT(input).type != CX88_VMUX_TELEVISION &&
+                   INPUT(input).type != CX88_VMUX_CABLE) {
                        /* "I2S ADC mode" */
                        core->tvaudio = WW_I2SADC;
                        cx88_set_tvaudio(core);