diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2007-10-24 09:30:17 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 19:01:14 -0200 |
commit | a72dd305f99f6c6e4eff01478ae53fc80ce98fb1 (patch) | |
tree | 03f53efd4e97240ab08816b6183d98fd85adcb47 /drivers/media/video/tda8290.c | |
parent | 2be1b48fd27a3b6878db034288ed571b03df3a5c (diff) | |
download | op-kernel-dev-a72dd305f99f6c6e4eff01478ae53fc80ce98fb1.zip op-kernel-dev-a72dd305f99f6c6e4eff01478ae53fc80ce98fb1.tar.gz |
V4L/DVB (6448): tda8290: fill i2c_gate_ctrl callback
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/tda8290.c')
-rw-r--r-- | drivers/media/video/tda8290.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c index 1b19b93..5975c54 100644 --- a/drivers/media/video/tda8290.c +++ b/drivers/media/video/tda8290.c @@ -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) |