[media] max2165: use DVBv5 parameters on set_params()
authorMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 20 Dec 2011 19:49:18 +0000 (16:49 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 31 Dec 2011 10:26:56 +0000 (08:26 -0200)
Instead of using DVBv3 parameters, rely on DVBv5 parameters to
set the tuner.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/tuners/max2165.c

index 9883617..0343449 100644 (file)
@@ -151,7 +151,7 @@ static int max2165_set_bandwidth(struct max2165_priv *priv, u32 bw)
 {
        u8 val;
 
-       if (bw == BANDWIDTH_8_MHZ)
+       if (bw == 8000000)
                val = priv->bb_filter_8mhz_cfg;
        else
                val = priv->bb_filter_7mhz_cfg;
@@ -261,35 +261,25 @@ static int max2165_set_params(struct dvb_frontend *fe,
        struct dvb_frontend_parameters *params)
 {
        struct max2165_priv *priv = fe->tuner_priv;
+       struct dtv_frontend_properties *c = &fe->dtv_property_cache;
        int ret;
 
-       dprintk("%s() frequency=%d (Hz)\n", __func__, params->frequency);
-       if (fe->ops.info.type == FE_ATSC) {
-                       return -EINVAL;
-       } else if (fe->ops.info.type == FE_OFDM) {
-               dprintk("%s() OFDM\n", __func__);
-               switch (params->u.ofdm.bandwidth) {
-               case BANDWIDTH_6_MHZ:
-                       return -EINVAL;
-               case BANDWIDTH_7_MHZ:
-               case BANDWIDTH_8_MHZ:
-                       priv->frequency = params->frequency;
-                       priv->bandwidth = params->u.ofdm.bandwidth;
-                       break;
-               default:
-                       printk(KERN_ERR "MAX2165 bandwidth not set!\n");
-                       return -EINVAL;
-               }
-       } else {
-               printk(KERN_ERR "MAX2165 modulation type not supported!\n");
+       switch (c->bandwidth_hz) {
+       case 7000000:
+       case 8000000:
+               priv->frequency = c->frequency;
+               break;
+       default:
+               printk(KERN_INFO "MAX2165: bandwidth %d Hz not supported.\n",
+                      c->bandwidth_hz);
                return -EINVAL;
        }
 
-       dprintk("%s() frequency=%d\n", __func__, priv->frequency);
+       dprintk("%s() frequency=%d\n", __func__, c->frequency);
 
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
-       max2165_set_bandwidth(priv, priv->bandwidth);
+       max2165_set_bandwidth(priv, c->bandwidth_hz);
        ret = max2165_set_rf(priv, priv->frequency);
        mdelay(50);
        max2165_debug_status(priv);
@@ -370,7 +360,7 @@ static int max2165_init(struct dvb_frontend *fe)
 
        max2165_read_rom_table(priv);
 
-       max2165_set_bandwidth(priv, BANDWIDTH_8_MHZ);
+       max2165_set_bandwidth(priv, 8000000);
 
        if (fe->ops.i2c_gate_ctrl)
                        fe->ops.i2c_gate_ctrl(fe, 0);