V4L/DVB: Add Support for DVBWorld DVB-S2 PCI 2004D card

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>
diff --git a/drivers/media/dvb/dm1105/dm1105.c b/drivers/media/dvb/dm1105/dm1105.c
index aadf803..033e1f3 100644
--- a/drivers/media/dvb/dm1105/dm1105.c
+++ b/drivers/media/dvb/dm1105/dm1105.c
@@ -43,6 +43,7 @@
 #include "si21xx.h"
 #include "cx24116.h"
 #include "z0194a.h"
+#include "ds3000.h"
 
 #define UNSET (-1U)
 
@@ -685,6 +686,10 @@
 	.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 @@
 		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;