提交 fd83e248 编写于 作者: M Michael Krufky 提交者: Mauro Carvalho Chehab

V4L/DVB (4869): Lgh06xf: use return value of dvb_pll_configure()

Use return value of dvb_pll_configure() to fill priv->frequency

In lgh06xf_set_params:
Rename int variable "err" to "result".
Remove needless calculation of the set frequency, since this value is now
being returned by dvb_pll_configure().
Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 89faeefc
......@@ -40,19 +40,23 @@ static int lgh06xf_set_params(struct dvb_frontend* fe,
u8 buf[4];
struct i2c_msg msg = { .addr = LG_H06XF_PLL_I2C_ADDR, .flags = 0,
.buf = buf, .len = sizeof(buf) };
u32 div;
int i;
int err;
u32 frequency;
int result;
if ((result = dvb_pll_configure(&dvb_pll_lg_tdvs_h06xf, buf,
params->frequency, 0)) < 0)
return result;
else
frequency = result;
dvb_pll_configure(&dvb_pll_lg_tdvs_h06xf, buf, params->frequency, 0);
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
if ((err = i2c_transfer(priv->i2c, &msg, 1)) != 1) {
if ((result = i2c_transfer(priv->i2c, &msg, 1)) != 1) {
printk(KERN_WARNING "lgh06xf: %s error "
"(addr %02x <- %02x, err = %i)\n",
__FUNCTION__, buf[0], buf[1], err);
if (err < 0)
return err;
"(addr %02x <- %02x, result = %i)\n",
__FUNCTION__, buf[0], buf[1], result);
if (result < 0)
return result;
else
return -EREMOTEIO;
}
......@@ -65,26 +69,17 @@ static int lgh06xf_set_params(struct dvb_frontend* fe,
msg.len = 2;
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
if ((err = i2c_transfer(priv->i2c, &msg, 1)) != 1) {
if ((result = i2c_transfer(priv->i2c, &msg, 1)) != 1) {
printk(KERN_WARNING "lgh06xf: %s error "
"(addr %02x <- %02x, err = %i)\n",
__FUNCTION__, buf[0], buf[1], err);
if (err < 0)
return err;
"(addr %02x <- %02x, result = %i)\n",
__FUNCTION__, buf[0], buf[1], result);
if (result < 0)
return result;
else
return -EREMOTEIO;
}
// calculate the frequency we set it to
for (i = 0; i < dvb_pll_lg_tdvs_h06xf.count; i++) {
if (params->frequency > dvb_pll_lg_tdvs_h06xf.entries[i].limit)
continue;
break;
}
div = (params->frequency + dvb_pll_lg_tdvs_h06xf.entries[i].offset) /
dvb_pll_lg_tdvs_h06xf.entries[i].stepsize;
priv->frequency = (div * dvb_pll_lg_tdvs_h06xf.entries[i].stepsize) -
dvb_pll_lg_tdvs_h06xf.entries[i].offset;
priv->frequency = frequency;
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册