[media] tda18271: make 'low-power standby mode after attach' multi-instance safe
authorMichael Krufky <mkrufky@linuxtv.org>
Sat, 29 Sep 2012 19:06:23 +0000 (16:06 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 1 Oct 2012 20:26:06 +0000 (17:26 -0300)
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>
drivers/media/tuners/tda18271-fe.c

index 5f5d866d3fc9c399e1c67b7743542c8b790c77cf..de21197ca4b9d7d1e1193baf114fe54b6a50cd0e 100644 (file)
@@ -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);