V4L/DVB (10505): tda8290: Print an error if i2c_gate is not provided

While here, be sure that gate will be kept disabled if an error occurs.

Cc: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Mauro Carvalho Chehab 2009-02-08 08:42:29 -03:00
parent 68d5ce7021
commit 3106381440

View file

@ -566,8 +566,11 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)
u8 data; u8 data;
struct i2c_msg msg = { .flags = I2C_M_RD, .buf = &data, .len = 1 }; struct i2c_msg msg = { .flags = I2C_M_RD, .buf = &data, .len = 1 };
if (NULL == analog_ops->i2c_gate_ctrl) if (!analog_ops->i2c_gate_ctrl) {
printk(KERN_ERR "tda8290: no gate control were provided!\n");
return -EINVAL; return -EINVAL;
}
analog_ops->i2c_gate_ctrl(fe, 1); analog_ops->i2c_gate_ctrl(fe, 1);
@ -615,6 +618,7 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)
if (ret != 1) { if (ret != 1) {
tuner_warn("tuner access failed!\n"); tuner_warn("tuner access failed!\n");
analog_ops->i2c_gate_ctrl(fe, 0);
return -EREMOTEIO; return -EREMOTEIO;
} }