V4L/DVB (6448): tda8290: fill i2c_gate_ctrl callback
authorMichael Krufky <mkrufky@linuxtv.org>
Wed, 24 Oct 2007 12:30:17 +0000 (09:30 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:01:14 +0000 (19:01 -0200)
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tda8290.c

index 1b19b93eabec92f7ca3436fd4fa48829b6ef0ae7..5975c548b8a6e61580db6035a445ed8ac2ba7d7b 100644 (file)
@@ -50,14 +50,15 @@ struct tda8290_priv {
 
 /*---------------------------------------------------------------------*/
 
-static void tda8290_i2c_bridge(struct dvb_frontend *fe, int close)
+static int tda8290_i2c_bridge(struct dvb_frontend *fe, int close)
 {
        struct tda8290_priv *priv = fe->analog_demod_priv;
 
        unsigned char  enable[2] = { 0x21, 0xC0 };
        unsigned char disable[2] = { 0x21, 0x00 };
        unsigned char *msg;
-       if(close) {
+
+       if (close) {
                msg = enable;
                tuner_i2c_xfer_send(&priv->i2c_props, msg, 2);
                /* let the bridge stabilize */
@@ -66,9 +67,11 @@ static void tda8290_i2c_bridge(struct dvb_frontend *fe, int close)
                msg = disable;
                tuner_i2c_xfer_send(&priv->i2c_props, msg, 2);
        }
+
+       return 0;
 }
 
-static void tda8295_i2c_bridge(struct dvb_frontend *fe, int close)
+static int tda8295_i2c_bridge(struct dvb_frontend *fe, int close)
 {
        struct tda8290_priv *priv = fe->analog_demod_priv;
 
@@ -76,6 +79,7 @@ static void tda8295_i2c_bridge(struct dvb_frontend *fe, int close)
        unsigned char disable[2] = { 0x46, 0x00 };
        unsigned char buf[3] = { 0x45, 0x01, 0x00 };
        unsigned char *msg;
+
        if (close) {
                msg = enable;
                tuner_i2c_xfer_send(&priv->i2c_props, msg, 2);
@@ -94,6 +98,8 @@ static void tda8295_i2c_bridge(struct dvb_frontend *fe, int close)
                msg[1] |= 0x04;
                tuner_i2c_xfer_send(&priv->i2c_props, msg, 2);
        }
+
+       return 0;
 }
 
 /*---------------------------------------------------------------------*/
@@ -517,6 +523,7 @@ static struct analog_tuner_ops tda8290_tuner_ops = {
        .has_signal     = tda8290_has_signal,
        .standby        = tda8290_standby,
        .release        = tda829x_release,
+       .i2c_gate_ctrl  = tda8290_i2c_bridge,
 };
 
 static struct analog_tuner_ops tda8295_tuner_ops = {
@@ -525,6 +532,7 @@ static struct analog_tuner_ops tda8295_tuner_ops = {
        .has_signal     = tda8295_has_signal,
        .standby        = tda8295_standby,
        .release        = tda829x_release,
+       .i2c_gate_ctrl  = tda8295_i2c_bridge,
 };
 
 int tda8290_attach(struct tuner *t)