summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2009-04-08 23:27:10 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-16 23:20:39 +0200
commit26b03bc6c2fa72e3aaed19fba125c2f438bf9261 (patch)
treea7a3f7bb5b65fa6b83b54b07b0a1d7c48a746c7d /drivers/media
parentV4L/DVB (11585): stv090x: fix incorrectly used mode (diff)
downloadlinux-26b03bc6c2fa72e3aaed19fba125c2f438bf9261.tar.xz
linux-26b03bc6c2fa72e3aaed19fba125c2f438bf9261.zip
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>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/frontends/stv090x.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/stv090x.c b/drivers/media/dvb/frontends/stv090x.c
index 6aaeda1cf243..4dc723c42646 100644
--- a/drivers/media/dvb/frontends/stv090x.c
+++ b/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");