aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2012-09-29 15:06:23 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2012-09-29 15:06:23 -0400
commitd48ecc46fa9340bdefa654912093ccfe11886639 (patch)
tree7d6b6f4ba08a867a8ac6eec3f981e02128701086
parent0f53adc187756caa6c75ceaefeb6673d8ea7d837 (diff)
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. Cc: Antti Palosaari <crope@iki.fi> Cc: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
-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 5f5d866d3fc9..de21197ca4b9 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);

Privacy Policy