aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2011-01-13 12:01:39 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-01-19 08:45:23 -0500
commit9d700a0696ae241380e8ca833bb5a358620d33f6 (patch)
tree8905cc517808a6d3e969214943d074948aaad1ca
parent47ab285a960ac456506297c93322ab13c3522f5a (diff)
[media] tda8290: Turn tda829x on before touching at the I2C gate
On Kworld SBTVD, tda8295-c1 starts in power off mode. It needs to be powered, otherwise, the I2C gate control command won't work. Cc: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/common/tuners/tda8290.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/media/common/tuners/tda8290.c b/drivers/media/common/tuners/tda8290.c
index 11ea4e0f9c04..419d064a0188 100644
--- a/drivers/media/common/tuners/tda8290.c
+++ b/drivers/media/common/tuners/tda8290.c
@@ -754,11 +754,10 @@ struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
754 sizeof(struct analog_demod_ops)); 754 sizeof(struct analog_demod_ops));
755 } 755 }
756 756
757 if ((!(cfg) || (TDA829X_PROBE_TUNER == cfg->probe_tuner)) && 757 if (!(cfg) || (TDA829X_PROBE_TUNER == cfg->probe_tuner)) {
758 (tda829x_find_tuner(fe) < 0)) { 758 tda8295_power(fe, 1);
759 memset(&fe->ops.analog_ops, 0, sizeof(struct analog_demod_ops)); 759 if (tda829x_find_tuner(fe) < 0)
760 760 goto fail;
761 goto fail;
762 } 761 }
763 762
764 switch (priv->ver) { 763 switch (priv->ver) {
@@ -803,6 +802,8 @@ struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
803 return fe; 802 return fe;
804 803
805fail: 804fail:
805 memset(&fe->ops.analog_ops, 0, sizeof(struct analog_demod_ops));
806
806 tda829x_release(fe); 807 tda829x_release(fe);
807 return NULL; 808 return NULL;
808} 809}