V4L/DVB: Add Support for DVBWorld DVB-S2 PCI 2004D card
authorIgor M. Liplianin <liplianin@me.by>
Sun, 17 Jan 2010 13:32:26 +0000 (10:32 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 26 Feb 2010 18:10:41 +0000 (15:10 -0300)
The PCI card contains dm1105 PCI bridge and ds3000 demod.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dm1105/Kconfig
drivers/media/dvb/dm1105/dm1105.c

index de3eeb0..6952392 100644 (file)
@@ -8,6 +8,7 @@ config DVB_DM1105
        select DVB_STB6000 if !DVB_FE_CUSTOMISE
        select DVB_CX24116 if !DVB_FE_CUSTOMISE
        select DVB_SI21XX if !DVB_FE_CUSTOMISE
+       select DVB_DS3000 if !DVB_FE_CUSTOMISE
        select VIDEO_IR
        help
          Support for cards based on the SDMC DM1105 PCI chip like
index aadf803..033e1f3 100644 (file)
@@ -43,6 +43,7 @@
 #include "si21xx.h"
 #include "cx24116.h"
 #include "z0194a.h"
+#include "ds3000.h"
 
 #define UNSET (-1U)
 
@@ -685,6 +686,10 @@ static struct cx24116_config serit_sp2633_config = {
        .demod_address = 0x55,
 };
 
+static struct ds3000_config dvbworld_ds3000_config = {
+       .demod_address = 0x68,
+};
+
 static int __devinit frontend_init(struct dm1105dvb *dm1105dvb)
 {
        int ret;
@@ -694,6 +699,14 @@ static int __devinit frontend_init(struct dm1105dvb *dm1105dvb)
                dm1105dvb->fe = dvb_attach(
                        cx24116_attach, &serit_sp2633_config,
                        &dm1105dvb->i2c_adap);
+               if (dm1105dvb->fe) {
+                       dm1105dvb->fe->ops.set_voltage = dm1105dvb_set_voltage;
+                       break;
+               }
+
+               dm1105dvb->fe = dvb_attach(
+                       ds3000_attach, &dvbworld_ds3000_config,
+                       &dm1105dvb->i2c_adap);
                if (dm1105dvb->fe)
                        dm1105dvb->fe->ops.set_voltage = dm1105dvb_set_voltage;