dect
/
linux-2.6
Archived
13
0
Fork 0

V4L/DVB (8529): mxl5007t: enable _init and _sleep power management functionality

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Michael Krufky 2008-07-12 18:22:38 -03:00 committed by Mauro Carvalho Chehab
parent 2a83e4d5e4
commit 452a53a247
1 changed files with 34 additions and 8 deletions

View File

@ -830,27 +830,53 @@ fail:
static int mxl5007t_init(struct dvb_frontend *fe)
{
struct mxl5007t_state *state = fe->tuner_priv;
//int ret;
int ret;
u8 d;
mutex_lock(&state->lock);
/* do init */
//fail:
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
ret = mxl5007t_read_reg(state, 0x05, &d);
if (mxl_fail(ret))
goto fail;
ret = mxl5007t_write_reg(state, 0x05, d | 0x01);
mxl_fail(ret);
fail:
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
mutex_unlock(&state->lock);
return 0;//ret;
return ret;
}
static int mxl5007t_sleep(struct dvb_frontend *fe)
{
struct mxl5007t_state *state = fe->tuner_priv;
//int ret;
int ret;
u8 d;
mutex_lock(&state->lock);
/* do standby */
//fail:
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
ret = mxl5007t_read_reg(state, 0x05, &d);
if (mxl_fail(ret))
goto fail;
ret = mxl5007t_write_reg(state, 0x05, d & ~0x01);
mxl_fail(ret);
fail:
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
mutex_unlock(&state->lock);
return 0;//ret;
return ret;
}
/* ------------------------------------------------------------------------- */