Browse Source

V4L/DVB (11586): stv090x: switch i/p ADC as well during Power management

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Manu Abraham 16 years ago
parent
commit
26b03bc6c2
1 changed files with 10 additions and 0 deletions
  1. 10 0
      drivers/media/dvb/frontends/stv090x.c

+ 10 - 0
drivers/media/dvb/frontends/stv090x.c

@@ -3494,6 +3494,11 @@ static int stv090x_sleep(struct dvb_frontend *fe)
 	if (stv090x_write_reg(state, STV090x_SYNTCTRL, reg) < 0)
 		goto err;
 
+	reg = stv090x_read_reg(state, STV090x_TSTTNR1);
+	STV090x_SETFIELD(reg, ADC1_PON_FIELD, 0);
+	if (stv090x_write_reg(state, STV090x_TSTTNR1, reg) < 0)
+		goto err;
+
 	return 0;
 err:
 	dprintk(FE_ERROR, 1, "I/O error");
@@ -3513,6 +3518,11 @@ static int stv090x_wakeup(struct dvb_frontend *fe)
 	if (stv090x_write_reg(state, STV090x_SYNTCTRL, reg) < 0)
 		goto err;
 
+	reg = stv090x_read_reg(state, STV090x_TSTTNR1);
+	STV090x_SETFIELD(reg, ADC1_PON_FIELD, 1);
+	if (stv090x_write_reg(state, STV090x_TSTTNR1, reg) < 0)
+		goto err;
+
 	return 0;
 err:
 	dprintk(FE_ERROR, 1, "I/O error");