From e566daf441598541ddf489320337ff146245b9b4 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 11:15:21 -0300 Subject: [PATCH] --- yaml --- r: 241851 b: refs/heads/master c: e2f63d9ba51efe8930bf1c952c66b971047d355d h: refs/heads/master i: 241849: a2b59fa1762c32703c158740407fcc49abc0af72 241847: 7b5a9c927dd4be5854aa0d1e6485c4d0d97f0a74 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/tuner-core.c | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 3c0d9645b344..59aac78dff4c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cbde689823776d187ba1b307a171625dbc02dd4f +refs/heads/master: e2f63d9ba51efe8930bf1c952c66b971047d355d diff --git a/trunk/drivers/media/video/tuner-core.c b/trunk/drivers/media/video/tuner-core.c index e6855a46f433..e6b63e9c0b34 100644 --- a/trunk/drivers/media/video/tuner-core.c +++ b/trunk/drivers/media/video/tuner-core.c @@ -1121,9 +1121,13 @@ static int tuner_log_status(struct v4l2_subdev *sd) static int tuner_suspend(struct i2c_client *c, pm_message_t state) { struct tuner *t = to_tuner(i2c_get_clientdata(c)); + struct analog_demod_ops *analog_ops = &t->fe.ops.analog_ops; tuner_dbg("suspend\n"); - /* FIXME: power down ??? */ + + if (!t->standby && analog_ops->standby) + analog_ops->standby(&t->fe); + return 0; } @@ -1132,10 +1136,10 @@ static int tuner_resume(struct i2c_client *c) struct tuner *t = to_tuner(i2c_get_clientdata(c)); tuner_dbg("resume\n"); - if (V4L2_TUNER_RADIO == t->mode) - set_freq(c, t->radio_freq); - else - set_freq(c, t->tv_freq); + + if (!t->standby) + set_mode_freq(c, t, t->type, 0); + return 0; }