diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2006-11-16 02:06:56 +0100 |
---|---|---|
committer | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2006-11-16 02:06:56 +0100 |
commit | 4f2bab2377606cc8fc1548674643a50ca3533685 (patch) | |
tree | aca062dbdab260b84826f38fcbe95a7ba37c2c87 /linux | |
parent | aa7384e979fc421adb40e52474a2f54d0a0a0780 (diff) | |
download | mediapointer-dvb-s2-4f2bab2377606cc8fc1548674643a50ca3533685.tar.gz mediapointer-dvb-s2-4f2bab2377606cc8fc1548674643a50ca3533685.tar.bz2 |
Added support for both DVB frontends of the Lifeview Trio
From: Nico Sabbi (nsabbi@tiscali.it)
This card (like some others) supports both, DVB-T and a DVB-S.
The patch adds an insmod option to select the frontend:
use_frontend=0 -> DVB-T
use_frontend=1 -> DVB-S
Signed-off-by: Nico Sabbi (nsabbi@tiscali.it)
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-dvb.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-dvb.c b/linux/drivers/media/video/saa7134/saa7134-dvb.c index 94ff7eb79..c52c91e4f 100644 --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c @@ -51,6 +51,10 @@ static unsigned int antenna_pwr = 0; module_param(antenna_pwr, int, 0444); MODULE_PARM_DESC(antenna_pwr,"enable antenna power (Pinnacle 300i)"); +static int use_frontent = 0; +module_param(use_frontent, int, 0644); +MODULE_PARM_DESC(use_frontent,"for cards with multiple frontends (0: terrestrial, 1: satellite)"); + /* ------------------------------------------------------------------ */ static int pinnacle_antenna_pwr(struct saa7134_dev *dev, int on) { @@ -1300,12 +1304,27 @@ static int dvb_init(struct saa7134_dev *dev) } break; case SAA7134_BOARD_FLYDVB_TRIO: - dev->dvb.frontend = dvb_attach(tda10046_attach, - &lifeview_trio_config, - &dev->i2c_adap); - if (dev->dvb.frontend) { - dev->dvb.frontend->ops.tuner_ops.sleep = lifeview_trio_tuner_sleep; - dev->dvb.frontend->ops.tuner_ops.set_params = lifeview_trio_tuner_set_params; + if(! use_frontent) { //terrestrial + dev->dvb.frontend = dvb_attach(tda10046_attach, + &lifeview_trio_config, + &dev->i2c_adap); + if (dev->dvb.frontend) { + dev->dvb.frontend->ops.tuner_ops.sleep = lifeview_trio_tuner_sleep; + dev->dvb.frontend->ops.tuner_ops.set_params = + lifeview_trio_tuner_set_params; + } + } else { //satellite + dev->dvb.frontend = dvb_attach(tda10086_attach, &flydvbs, &dev->i2c_adap); + if (dev->dvb.frontend) { + if (dvb_attach(tda826x_attach, dev->dvb.frontend, 0x63, + &dev->i2c_adap, 0) == NULL) { + printk("%s: Lifeview Trio, No tda826x found!\n", __FUNCTION__); + } + if (dvb_attach(isl6421_attach, dev->dvb.frontend, &dev->i2c_adap, + 0x08, 0, 0) == NULL) { + printk("%s: Lifeview Trio, No ISL6421 found!\n", __FUNCTION__); + } + } } break; case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |