|
@@ -3838,11 +3838,17 @@ static int stv090x_sleep(struct dvb_frontend *fe)
|
|
|
struct stv090x_state *state = fe->demodulator_priv;
|
|
|
u32 reg;
|
|
|
|
|
|
- if (state->config->tuner_init) {
|
|
|
+ if (stv090x_i2c_gate_ctrl(state, 1) < 0)
|
|
|
+ goto err;
|
|
|
+
|
|
|
+ if (state->config->tuner_sleep) {
|
|
|
if (state->config->tuner_sleep(fe) < 0)
|
|
|
goto err_gateoff;
|
|
|
}
|
|
|
|
|
|
+ if (stv090x_i2c_gate_ctrl(state, 0) < 0)
|
|
|
+ goto err;
|
|
|
+
|
|
|
dprintk(FE_DEBUG, 1, "Set %s to sleep",
|
|
|
state->device == STV0900 ? "STV0900" : "STV0903");
|
|
|
|