Instead of using DVBv3 parameters, rely on DVBv5 parameters to
set the tuner.

Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
---
 drivers/media/common/tuners/mt2266.c |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/media/common/tuners/mt2266.c 
b/drivers/media/common/tuners/mt2266.c
index 25a8ea3..d539740 100644
--- a/drivers/media/common/tuners/mt2266.c
+++ b/drivers/media/common/tuners/mt2266.c
@@ -124,6 +124,7 @@ static u8 mt2266_vhf[] = { 0x1d, 0xfe, 0x00, 0x00, 0xb4, 
0x03, 0xa5, 0xa5,
 
 static int mt2266_set_params(struct dvb_frontend *fe, struct 
dvb_frontend_parameters *params)
 {
+       struct dtv_frontend_properties *c = &fe->dtv_property_cache;
        struct mt2266_priv *priv;
        int ret=0;
        u32 freq;
@@ -135,31 +136,28 @@ static int mt2266_set_params(struct dvb_frontend *fe, 
struct dvb_frontend_parame
 
        priv = fe->tuner_priv;
 
-       freq = params->frequency / 1000; // Hz -> kHz
+       freq = priv->frequency / 1000; /* Hz -> kHz */
        if (freq < 470000 && freq > 230000)
                return -EINVAL; /* Gap between VHF and UHF bands */
-       priv->bandwidth = (fe->ops.info.type == FE_OFDM) ? 
params->u.ofdm.bandwidth : 0;
-       priv->frequency = freq * 1000;
 
+       priv->frequency = c->frequency;
        tune = 2 * freq * (8192/16) / (FREF/16);
        band = (freq < 300000) ? MT2266_VHF : MT2266_UHF;
        if (band == MT2266_VHF)
                tune *= 2;
 
-       switch (params->u.ofdm.bandwidth) {
-       case BANDWIDTH_6_MHZ:
+       if (c->bandwidth_hz <= 6000000) {
                mt2266_writeregs(priv, mt2266_init_6mhz,
                                 sizeof(mt2266_init_6mhz));
-               break;
-       case BANDWIDTH_7_MHZ:
+               priv->bandwidth = BANDWIDTH_6_MHZ;
+       } else if (c->bandwidth_hz <= 7000000) {
                mt2266_writeregs(priv, mt2266_init_7mhz,
                                 sizeof(mt2266_init_7mhz));
-               break;
-       case BANDWIDTH_8_MHZ:
-       default:
+               priv->bandwidth = BANDWIDTH_7_MHZ;
+       } else {
                mt2266_writeregs(priv, mt2266_init_8mhz,
                                 sizeof(mt2266_init_8mhz));
-               break;
+               priv->bandwidth = BANDWIDTH_8_MHZ;
        }
 
        if (band == MT2266_VHF && priv->band == MT2266_UHF) {
-- 
1.7.8.352.g876a6

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to