[media] xc5000: add support for DVB-C tuning
authorIgor M. Liplianin <liplianin@me.by>
Tue, 25 Jan 2011 20:03:00 +0000 (17:03 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 21 Mar 2011 23:32:17 +0000 (20:32 -0300)
Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/tuners/xc5000.c

index 76ac5cd84af7049be9aae034094b6a7d9dbecfa3..e3218c97d53671709ae2e23e83a521564323f0d8 100644 (file)
@@ -683,6 +683,24 @@ static int xc5000_set_params(struct dvb_frontend *fe,
                        return -EINVAL;
                }
                priv->rf_mode = XC_RF_MODE_AIR;
+       } else if (fe->ops.info.type == FE_QAM) {
+               dprintk(1, "%s() QAM\n", __func__);
+               switch (params->u.qam.modulation) {
+               case QAM_16:
+               case QAM_32:
+               case QAM_64:
+               case QAM_128:
+               case QAM_256:
+               case QAM_AUTO:
+                       dprintk(1, "%s() QAM modulation\n", __func__);
+                       priv->bandwidth = BANDWIDTH_8_MHZ;
+                       priv->video_standard = DTV7_8;
+                       priv->freq_hz = params->frequency - 2750000;
+                       priv->rf_mode = XC_RF_MODE_CABLE;
+                       break;
+               default:
+                       return -EINVAL;
+               }
        } else {
                printk(KERN_ERR "xc5000 modulation type not supported!\n");
                return -EINVAL;