diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2008-04-22 13:46:08 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:52 -0400 |
commit | 7bff4b4d3ad2b9ff42b4087f409076035af1d165 (patch) | |
tree | cfa75f91fbd30b8b36f70d7056639ee031d2a7ed /drivers/media/video/tda8290.c | |
parent | 5823b3a63c7661272ea7fef7635955e2a50d17eb (diff) |
V4L/DVB (7393): tda827x: fixed support of tuners with LNA
Tuner refactoring broke support of tuners with LNA configurations 1 and 2
for both, analog TV and DVB-T.
Additionally, this patch initializes the saa713x gpios defined by the gpiomask
at driver init to avoid undefined stated at dvb.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
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 | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c index 6f2449ab46a0..89afb19c9468 100644 --- a/drivers/media/video/tda8290.c +++ b/drivers/media/video/tda8290.c | |||
@@ -172,7 +172,7 @@ static void tda8290_set_params(struct dvb_frontend *fe, | |||
172 | set_audio(fe, params); | 172 | set_audio(fe, params); |
173 | 173 | ||
174 | if (priv->cfg.config) | 174 | if (priv->cfg.config) |
175 | tuner_dbg("tda827xa config is 0x%02x\n", *priv->cfg.config); | 175 | tuner_dbg("tda827xa config is 0x%02x\n", priv->cfg.config); |
176 | tuner_i2c_xfer_send(&priv->i2c_props, easy_mode, 2); | 176 | tuner_i2c_xfer_send(&priv->i2c_props, easy_mode, 2); |
177 | tuner_i2c_xfer_send(&priv->i2c_props, agc_out_on, 2); | 177 | tuner_i2c_xfer_send(&priv->i2c_props, agc_out_on, 2); |
178 | tuner_i2c_xfer_send(&priv->i2c_props, soft_reset, 2); | 178 | tuner_i2c_xfer_send(&priv->i2c_props, soft_reset, 2); |
@@ -442,8 +442,7 @@ static void tda8290_init_if(struct dvb_frontend *fe) | |||
442 | unsigned char set_GP00_CF[] = { 0x20, 0x01 }; | 442 | unsigned char set_GP00_CF[] = { 0x20, 0x01 }; |
443 | unsigned char set_GP01_CF[] = { 0x20, 0x0B }; | 443 | unsigned char set_GP01_CF[] = { 0x20, 0x0B }; |
444 | 444 | ||
445 | if ((priv->cfg.config) && | 445 | if ((priv->cfg.config == 1) || (priv->cfg.config == 2)) |
446 | ((*priv->cfg.config == 1) || (*priv->cfg.config == 2))) | ||
447 | tuner_i2c_xfer_send(&priv->i2c_props, set_GP00_CF, 2); | 446 | tuner_i2c_xfer_send(&priv->i2c_props, set_GP00_CF, 2); |
448 | else | 447 | else |
449 | tuner_i2c_xfer_send(&priv->i2c_props, set_GP01_CF, 2); | 448 | tuner_i2c_xfer_send(&priv->i2c_props, set_GP01_CF, 2); |
@@ -588,8 +587,8 @@ static int tda829x_find_tuner(struct dvb_frontend *fe) | |||
588 | else | 587 | else |
589 | priv->ver |= TDA8275A; | 588 | priv->ver |= TDA8275A; |
590 | 589 | ||
591 | tda827x_attach(fe, priv->tda827x_addr, | 590 | tda827x_attach(fe, priv->tda827x_addr, priv->i2c_props.adap, &priv->cfg); |
592 | priv->i2c_props.adap, &priv->cfg); | 591 | priv->cfg.switch_addr = priv->i2c_props.addr; |
593 | } | 592 | } |
594 | if (fe->ops.tuner_ops.init) | 593 | if (fe->ops.tuner_ops.init) |
595 | fe->ops.tuner_ops.init(fe); | 594 | fe->ops.tuner_ops.init(fe); |