V4L/DVB (8164): cx18/ivtv: choose a better initial TV standard for cards without...
authorHans Verkuil <hverkuil@xs4all.nl>
Sat, 28 Jun 2008 02:27:25 +0000 (23:27 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 20 Jul 2008 10:15:08 +0000 (07:15 -0300)
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/cx18/cx18-driver.c
drivers/media/video/ivtv/ivtv-driver.c

index 71bb04a..2f4909a 100644 (file)
@@ -722,6 +722,12 @@ static int __devinit cx18_probe(struct pci_dev *dev,
        /* if no tuner was found, then pick the first tuner in the card list */
        if (cx->options.tuner == -1 && cx->card->tuners[0].std) {
                cx->std = cx->card->tuners[0].std;
+               if (cx->std & V4L2_STD_PAL)
+                       cx->std = V4L2_STD_PAL_BG | V4L2_STD_PAL_H;
+               else if (cx->std & V4L2_STD_NTSC)
+                       cx->std = V4L2_STD_NTSC_M;
+               else if (cx->std & V4L2_STD_SECAM)
+                       cx->std = V4L2_STD_SECAM_L;
                cx->options.tuner = cx->card->tuners[0].tuner;
        }
        if (cx->options.radio == -1)
index 9e6a649..41fd792 100644 (file)
@@ -1128,6 +1128,12 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
        /* if no tuner was found, then pick the first tuner in the card list */
        if (itv->options.tuner == -1 && itv->card->tuners[0].std) {
                itv->std = itv->card->tuners[0].std;
+               if (itv->std & V4L2_STD_PAL)
+                       itv->std = V4L2_STD_PAL_BG | V4L2_STD_PAL_H;
+               else if (itv->std & V4L2_STD_NTSC)
+                       itv->std = V4L2_STD_NTSC_M;
+               else if (itv->std & V4L2_STD_SECAM)
+                       itv->std = V4L2_STD_SECAM_L;
                itv->options.tuner = itv->card->tuners[0].tuner;
        }
        if (itv->options.radio == -1)