summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2012-09-29 16:06:23 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-01 17:26:06 -0300
commit4cfae67515ed4c7bf5bb94fde20130153936f465 (patch)
tree0c2c527bea7a30d182f416f0ffd02d8047a3cc92 /drivers/media
parent185e4768b864b3b65c5d2cdca9be556d493f15e1 (diff)
downloadop-kernel-dev-4cfae67515ed4c7bf5bb94fde20130153936f465.zip
op-kernel-dev-4cfae67515ed4c7bf5bb94fde20130153936f465.tar.gz
[media] tda18271: make 'low-power standby mode after attach' multi-instance safe
Ensure that unnecessary features are powered down at the end of the attach() function on attach of the tuner's first instance. If the configuration requires the loop thru or xtout features, they will remain enabled. This must *only* be done after attaching the first instance of the tuner. If there are multiple instances of the tuner, the bridge driver will need to maintain power managament by itself. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/tuners/tda18271-fe.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/tuners/tda18271-fe.c b/drivers/media/tuners/tda18271-fe.c
index 5f5d866..de21197 100644
--- a/drivers/media/tuners/tda18271-fe.c
+++ b/drivers/media/tuners/tda18271-fe.c
@@ -1285,6 +1285,10 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
(priv->id == TDA18271HDC2))
tda18271c2_rf_cal_init(fe);
+ /* enter standby mode, with required output features enabled */
+ ret = tda18271_toggle_output(fe, 1);
+ tda_fail(ret);
+
mutex_unlock(&priv->lock);
break;
default:
@@ -1323,9 +1327,6 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
if (tda18271_debug & (DBG_MAP | DBG_ADV))
tda18271_dump_std_map(fe);
- ret = tda18271_sleep(fe);
- tda_fail(ret);
-
return fe;
fail:
mutex_unlock(&tda18271_list_mutex);
OpenPOWER on IntegriCloud