aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dm1105
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2010-01-17 10:32:26 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 15:10:41 -0300
commitb4a0e816fbe2af815674c514588b6cb444ec5fd9 (patch)
tree1261be59726d45ae8f3fa4365e13d59fb92f5dc6 /drivers/media/dvb/dm1105
parentV4L/DVB: ivtv: Adjust msleep() delays used to prevent tinny audio and PCI bus hang (diff)
downloadlinux-dev-b4a0e816fbe2af815674c514588b6cb444ec5fd9.tar.xz
linux-dev-b4a0e816fbe2af815674c514588b6cb444ec5fd9.zip
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>
Diffstat (limited to 'drivers/media/dvb/dm1105')
-rw-r--r--drivers/media/dvb/dm1105/Kconfig1
-rw-r--r--drivers/media/dvb/dm1105/dm1105.c13
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/media/dvb/dm1105/Kconfig b/drivers/media/dvb/dm1105/Kconfig
index de3eeb0a8d6e..695239227cb7 100644
--- a/drivers/media/dvb/dm1105/Kconfig
+++ b/drivers/media/dvb/dm1105/Kconfig
@@ -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
diff --git a/drivers/media/dvb/dm1105/dm1105.c b/drivers/media/dvb/dm1105/dm1105.c
index aadf803c261c..033e1f356742 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 @@ 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;