Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4e7668104f7f17fa093121bf13e9728b88da57d
Commit:     d4e7668104f7f17fa093121bf13e9728b88da57d
Parent:     2e4160ca8046e3c35277bed62b2c180427d57dd7
Author:     Mauro Carvalho Chehab <[EMAIL PROTECTED]>
AuthorDate: Wed Jul 18 23:14:25 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 19:01:04 2008 -0200

    V4L/DVB (6427): Some cleanups at tuner-xc2028 driver
    
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/tuner-xc2028.c |   41 ++++++++---------------------------
 1 files changed, 10 insertions(+), 31 deletions(-)

diff --git a/drivers/media/video/tuner-xc2028.c 
b/drivers/media/video/tuner-xc2028.c
index 838db81..f514c5c 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -314,28 +314,11 @@ static void generic_set_tv_freq(struct i2c_client *c, u32 
freq /* in Hz */,
        struct tuner  *t  = i2c_get_clientdata(c);
        u32 div, offset = 0;
 
-       printk("xc3028: should set frequency %d kHz)\n", freq / 1000);
-
-       if (check_firmware(c, new_mode, bandwidth)<0)
-               return;
-
-       if(new_mode == T_DIGITAL_TV) {
-               switch(bandwidth) {
-                       case BANDWIDTH_8_MHZ:
-                               offset = 2750000;
-                       break;
-
-                       case BANDWIDTH_7_MHZ:
-                               offset = 2750000;
-                       break;
-
-                       case BANDWIDTH_6_MHZ:
-                       default:
-                               printk(KERN_ERR "xc2028: bandwidth not 
implemented!\n");
-               }
-       }
+       /* HACK: It seems that specific firmware need to be reloaded
+          when freq is changed */
+       struct xc2028_data      *xc2028 = t->priv;
 
-       div = (freq - offset + DIV/2)/DIV;
+       xc2028->firm_type=0;
 
        /* Reset GPIO 1 */
        if (t->tuner_callback) {
@@ -345,17 +328,16 @@ static void generic_set_tv_freq(struct i2c_client *c, u32 
freq /* in Hz */,
                        return;
        }
        msleep(10);
+       printk("xc3028: should set frequency %d kHz)\n", freq / 1000);
 
-       char *name;
+       if (check_firmware(c, new_mode, bandwidth)<0)
+               return;
 
-       rc = load_firmware(c,firmware_INIT1);
+       if(new_mode == T_DIGITAL_TV)
+               offset = 2750000;
 
-       if (t->std & V4L2_STD_MN)
-               name=firmware_MN;
-       else
-               name=firmware_DK;
+       div = (freq - offset + DIV/2)/DIV;
 
-       rc = load_firmware(c,name);
        /* CMD= Set frequency */
        send_seq(c, {0x00, 0x02, 0x00, 0x00});
        if (t->tuner_callback) {
@@ -366,8 +348,6 @@ static void generic_set_tv_freq(struct i2c_client *c, u32 
freq /* in Hz */,
        }
 
        msleep(10);
-//     send_seq(c, {0x00, 0x00, 0x10, 0xd0, 0x00});
-//     msleep(100);
 
        buf[0]= 0xff & (div>>24);
        buf[1]= 0xff & (div>>16);
@@ -383,7 +363,6 @@ static void generic_set_tv_freq(struct i2c_client *c, u32 
freq /* in Hz */,
        printk("divider= %02x %02x %02x %02x (freq=%d.%02d)\n",
                 buf[1],buf[2],buf[3],buf[4],
                 freq / 16, freq % 16 * 100 / 16);
-//     printk("signal=%d\n",xc2028_signal(c));
 }
 
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to