Commit fd83e248 authored by Michael Krufky's avatar Michael Krufky Committed by Mauro Carvalho Chehab
Browse files

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: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 89faeefc
Loading
Loading
Loading
Loading
+19 −24
Original line number Diff line number Diff line
@@ -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;
}