Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68717583557341874b2eea4dea36635256e932b6
Commit:     68717583557341874b2eea4dea36635256e932b6
Parent:     06be3035f96d73cf64dc20a8ee37c902d7a2ff2d
Author:     Hartmut Hackmann <[EMAIL PROTECTED]>
AuthorDate: Fri Apr 27 12:31:15 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Apr 27 15:43:36 2007 -0300

    V4L/DVB (5319): Set tda827x to sleep mode after attach
    
    This change sets the tda827x to sleep mode right after attach in dvb
    mode. It is just to save power. For the same reason, the ADC of the
    tda10046 gets turned off in sleep mode.
    
    Signed-off-by: Hartmut Hackmann <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/dvb/frontends/tda1004x.c |    2 ++
 drivers/media/dvb/frontends/tda827x.c  |    9 ++++++++-
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/drivers/media/dvb/frontends/tda1004x.c 
b/drivers/media/dvb/frontends/tda1004x.c
index dbfc94a..3de729b 100644
--- a/drivers/media/dvb/frontends/tda1004x.c
+++ b/drivers/media/dvb/frontends/tda1004x.c
@@ -503,6 +503,7 @@ static int tda10046_fwupload(struct dvb_frontend* fe)
 
        /* The PLLs need to be reprogrammed after sleep */
        tda10046_init_plls(fe);
+       tda1004x_write_mask(state, TDA1004X_CONFADC2, 0xc0, 0);
 
        /* don't re-upload unless necessary */
        if (tda1004x_check_upload_ok(state) == 0)
@@ -1170,6 +1171,7 @@ static int tda1004x_sleep(struct dvb_frontend* fe)
                        tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 
0x0f,
                                                        (gpio_conf & 0x0f) ^ 
0x0a);
 
+               tda1004x_write_mask(state, TDA1004X_CONFADC2, 0xc0, 0xc0);
                tda1004x_write_mask(state, TDA1004X_CONFC4, 1, 1);
                break;
        }
diff --git a/drivers/media/dvb/frontends/tda827x.c 
b/drivers/media/dvb/frontends/tda827x.c
index cff2d1f..1fa58c5 100644
--- a/drivers/media/dvb/frontends/tda827x.c
+++ b/drivers/media/dvb/frontends/tda827x.c
@@ -426,6 +426,7 @@ struct dvb_frontend *tda827x_attach(struct dvb_frontend 
*fe, int addr,
 {
        struct tda827x_priv *priv = NULL;
        u8 data;
+       u8 sb_msg[] = { 0x30, 0xd0 };
        struct i2c_msg msg = { .addr = addr, .flags = I2C_M_RD,
                               .buf = &data, .len = 1 };
        dprintk("%s:\n", __FUNCTION__);
@@ -446,15 +447,21 @@ struct dvb_frontend *tda827x_attach(struct dvb_frontend 
*fe, int addr,
        priv->i2c_addr = addr;
        priv->i2c_adap = i2c;
        priv->cfg = cfg;
+
+       msg.flags = 0;
+       msg.buf = sb_msg;
+       msg.len = sizeof(sb_msg);
+
        if ((data & 0x3c) == 0) {
                dprintk("tda827x tuner found\n");
                memcpy(&fe->ops.tuner_ops, &tda827xo_tuner_ops, sizeof(struct 
dvb_tuner_ops));
        } else {
                dprintk("tda827xa tuner found\n");
                memcpy(&fe->ops.tuner_ops, &tda827xa_tuner_ops, sizeof(struct 
dvb_tuner_ops));
+               sb_msg[1] = 0x90;
        }
        fe->tuner_priv = priv;
-
+       i2c_transfer(i2c, &msg, 1);
        return fe;
 }
 EXPORT_SYMBOL(tda827x_attach);
-
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