V4L/DVB (4869): Lgh06xf: use return value of dvb_pll_configure()
authorMichael Krufky <mkrufky@linuxtv.org>
Mon, 20 Nov 2006 20:03:48 +0000 (17:03 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 10 Dec 2006 11:05:06 +0000 (09:05 -0200)
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: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/lgh06xf.c

index badbea8..2202d0c 100644 (file)
@@ -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;
 }