[media] cxd2820r: switch to .get_if_frequency()

All tuners used with cxd2820r offers IF frequency so switch that.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/frontends/cxd2820r_t.c b/drivers/media/dvb/frontends/cxd2820r_t.c
index a04f9c8..86e17e6 100644
--- a/drivers/media/dvb/frontends/cxd2820r_t.c
+++ b/drivers/media/dvb/frontends/cxd2820r_t.c
@@ -27,7 +27,7 @@
 	struct cxd2820r_priv *priv = fe->demodulator_priv;
 	struct dtv_frontend_properties *c = &fe->dtv_property_cache;
 	int ret, i;
-	u32 if_khz, if_ctl;
+	u32 if_freq, if_ctl;
 	u64 num;
 	u8 buf[3], bw_param;
 	u8 bw_params1[][5] = {
@@ -80,17 +80,14 @@
 
 	switch (c->bandwidth_hz) {
 	case 6000000:
-		if_khz = priv->cfg.if_dvbt_6;
 		i = 0;
 		bw_param = 2;
 		break;
 	case 7000000:
-		if_khz = priv->cfg.if_dvbt_7;
 		i = 1;
 		bw_param = 1;
 		break;
 	case 8000000:
-		if_khz = priv->cfg.if_dvbt_8;
 		i = 2;
 		bw_param = 0;
 		break;
@@ -98,7 +95,17 @@
 		return -EINVAL;
 	}
 
-	num = if_khz;
+	/* program IF frequency */
+	if (fe->ops.tuner_ops.get_if_frequency) {
+		ret = fe->ops.tuner_ops.get_if_frequency(fe, &if_freq);
+		if (ret)
+			goto error;
+	} else
+		if_freq = 0;
+
+	dbg("%s: if_freq=%d", __func__, if_freq);
+
+	num = if_freq / 1000; /* Hz => kHz */
 	num *= 0x1000000;
 	if_ctl = cxd2820r_div_u64_round_closest(num, 41000);
 	buf[0] = ((if_ctl >> 16) & 0xff);