V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner
authorDevin Heitmueller <devin.heitmueller@gmail.com>
Sun, 16 Nov 2008 03:44:52 +0000 (00:44 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 17 Nov 2008 01:57:13 +0000 (23:57 -0200)
It is not safe to assume that the i2c gate will be open before issuing the
command to power down the tuner.  In fact, many demods only open the gate
long enough to issue the tuning command.

This fix allows power management to work properly for those tuners behind an
i2c gate (in my case the problem was with the HVR-950Q)

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-core/dvb_frontend.c

index b38cebe..7a421e9 100644 (file)
@@ -585,6 +585,8 @@ restart:
                if (fe->ops.set_voltage)
                        fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF);
                if (fe->ops.tuner_ops.sleep) {
+                       if (fe->ops.i2c_gate_ctrl)
+                               fe->ops.i2c_gate_ctrl(fe, 1);
                        fe->ops.tuner_ops.sleep(fe);
                        if (fe->ops.i2c_gate_ctrl)
                                fe->ops.i2c_gate_ctrl(fe, 0);