[media] tda18212: implement .get_if_frequency()
authorAntti Palosaari <crope@iki.fi>
Sun, 13 Nov 2011 14:20:08 +0000 (11:20 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 24 Nov 2011 19:53:30 +0000 (17:53 -0200)
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/tuners/tda18212.c

index 6374a1e010bff36b5b69277e1f3e79579cd9f10d..b1750d21b4860ec0e7b06ab8c0021a2e21f44d26 100644 (file)
@@ -25,6 +25,8 @@
 struct tda18212_priv {
        struct tda18212_config *cfg;
        struct i2c_adapter *i2c;
+
+       u32 if_frequency;
 };
 
 #define dbg(fmt, arg...)                                       \
@@ -235,6 +237,9 @@ static int tda18212_set_params(struct dvb_frontend *fe,
        if (ret)
                goto error;
 
+       /* actual IF rounded as it is on register */
+       priv->if_frequency = buf[3] * 50 * 1000;
+
 exit:
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 0); /* close I2C-gate */
@@ -246,6 +251,15 @@ error:
        goto exit;
 }
 
+static int tda18212_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
+{
+       struct tda18212_priv *priv = fe->tuner_priv;
+
+       *frequency = priv->if_frequency;
+
+       return 0;
+}
+
 static int tda18212_release(struct dvb_frontend *fe)
 {
        kfree(fe->tuner_priv);
@@ -265,6 +279,7 @@ static const struct dvb_tuner_ops tda18212_tuner_ops = {
        .release       = tda18212_release,
 
        .set_params    = tda18212_set_params,
+       .get_if_frequency = tda18212_get_if_frequency,
 };
 
 struct dvb_frontend *tda18212_attach(struct dvb_frontend *fe,