]> err.no Git - linux-2.6/commitdiff
[PATCH] v4l: 691: set if of tda8275 according to tv norm
authorNickolay V. Shmyrev <nshmyrev@yandex.ru>
Wed, 9 Nov 2005 05:36:50 +0000 (21:36 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 15:56:12 +0000 (07:56 -0800)
- Set IF of tda8275 according to tv norm.

Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/media/video/tda8290.c
include/media/tuner.h

index 61268f8a9eec44cf337cc5dfd07fa80abaf83cd1..1e2acc4abbe693ff35ab7c180e22c41fb4d7fe38 100644 (file)
@@ -181,18 +181,25 @@ static void set_audio(struct tuner *t)
 {
        t->i2c_easy_mode[0] = 0x01;
 
-       if (t->std & V4L2_STD_MN)
+       if (t->std & V4L2_STD_MN) {
+               t->sgIF = 736;
                t->i2c_easy_mode[1] = 0x01;
-       else if (t->std & V4L2_STD_B)
+       } else if (t->std & V4L2_STD_B) {
+               t->sgIF = 864;
                t->i2c_easy_mode[1] = 0x02;
-       else if (t->std & V4L2_STD_GH)
+       } else if (t->std & V4L2_STD_GH) {
+               t->sgIF = 992;
                t->i2c_easy_mode[1] = 0x04;
-       else if (t->std & V4L2_STD_PAL_I)
+       } else if (t->std & V4L2_STD_PAL_I) {
+               t->sgIF = 992;
                t->i2c_easy_mode[1] = 0x08;
-       else if (t->std & V4L2_STD_DK)
+       } else if (t->std & V4L2_STD_DK) {
+               t->sgIF = 992;
                t->i2c_easy_mode[1] = 0x10;
-       else if (t->std & V4L2_STD_SECAM_L)
+       } else if (t->std & V4L2_STD_SECAM_L) {
+               t->sgIF = 992;
                t->i2c_easy_mode[1] = 0x20;
+       }
 }
 
 static void set_tv_freq(struct i2c_client *c, unsigned int freq)
@@ -200,7 +207,7 @@ static void set_tv_freq(struct i2c_client *c, unsigned int freq)
        struct tuner *t = i2c_get_clientdata(c);
 
        set_audio(t);
-       set_frequency(t, 864, freq);
+       set_frequency(t, t->sgIF, freq);
        tda8290_tune(c);
 }
 
index bf925702fbbfa4dbd77095ff34f93f9c0a053092..97e16bddf6515590672f7010adf711cac2af2618 100644 (file)
@@ -191,6 +191,7 @@ struct tuner {
        /* used by tda8290 */
        unsigned char i2c_easy_mode[2];
        unsigned char i2c_set_freq[8];
+       unsigned int  sgIF;
 
        /* function ptrs */
        void (*tv_freq)(struct i2c_client *c, unsigned int freq);