diff options
author | Antti Palosaari <crope@iki.fi> | 2014-07-09 18:45:31 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-07-14 21:07:01 -0300 |
commit | 4de0ed7cf7a49384f3438a39543fb85d6dcd3bfc (patch) | |
tree | 54d671f600ec251a7a908999d7ec3fef6f706d45 /drivers | |
parent | a83d7d17ad4c920b9b3f5330521fa346dddd3de3 (diff) |
[media] si2168: implement sleep
Implement sleep for power-management.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb-frontends/si2168.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 8637d2ed7623..0d0545e39143 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c @@ -438,13 +438,6 @@ static int si2168_init(struct dvb_frontend *fe) dev_dbg(&s->client->dev, "%s:\n", __func__); - cmd.args[0] = 0x13; - cmd.wlen = 1; - cmd.rlen = 0; - ret = si2168_cmd_execute(s, &cmd); - if (ret) - goto err; - cmd.args[0] = 0xc0; cmd.args[1] = 0x12; cmd.args[2] = 0x00; @@ -559,12 +552,24 @@ err: static int si2168_sleep(struct dvb_frontend *fe) { struct si2168 *s = fe->demodulator_priv; + int ret; + struct si2168_cmd cmd; dev_dbg(&s->client->dev, "%s:\n", __func__); s->active = false; + memcpy(cmd.args, "\x13", 1); + cmd.wlen = 1; + cmd.rlen = 0; + ret = si2168_cmd_execute(s, &cmd); + if (ret) + goto err; + return 0; +err: + dev_dbg(&s->client->dev, "%s: failed=%d\n", __func__, ret); + return ret; } static int si2168_get_tune_settings(struct dvb_frontend *fe, |