提交 a08c3781 编写于 作者: A Antti Palosaari 提交者: Mauro Carvalho Chehab

[media] rtl2832: implement sleep

Put demod to soft reset in order to save power when sleep. That drops
power usage ~30mA @5V on USB dongle I tested. In real life it does
not matter much as USB IF powers off demod too, but now it is done
twice - demod and USB IF.
Signed-off-by: NAntti Palosaari <crope@iki.fi>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 75c24005
...@@ -410,13 +410,23 @@ static int rtl2832_sleep(struct dvb_frontend *fe) ...@@ -410,13 +410,23 @@ static int rtl2832_sleep(struct dvb_frontend *fe)
{ {
struct rtl2832_dev *dev = fe->demodulator_priv; struct rtl2832_dev *dev = fe->demodulator_priv;
struct i2c_client *client = dev->client; struct i2c_client *client = dev->client;
int ret;
dev_dbg(&client->dev, "\n"); dev_dbg(&client->dev, "\n");
dev->sleeping = true; dev->sleeping = true;
/* stop statistics polling */ /* stop statistics polling */
cancel_delayed_work_sync(&dev->stat_work); cancel_delayed_work_sync(&dev->stat_work);
dev->fe_status = 0; dev->fe_status = 0;
ret = rtl2832_wr_demod_reg(dev, DVBT_SOFT_RST, 0x1);
if (ret)
goto err;
return 0; return 0;
err:
dev_dbg(&client->dev, "failed=%d\n", ret);
return ret;
} }
static int rtl2832_get_tune_settings(struct dvb_frontend *fe, static int rtl2832_get_tune_settings(struct dvb_frontend *fe,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册