diff options
author | Nico Sabbi <nsabbi@tiscali.it> | 2006-11-15 20:06:56 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 05:51:28 -0500 |
commit | 1f683cd8bc8512c02a7d1b8358d71937d4c5134b (patch) | |
tree | dc4599f3c6c0fefd5fb559b497b7944b6a04bfbb | |
parent | 550a9a5e5f8086ae410832f134a5d80b9bd7fdb6 (diff) |
V4L/DVB (4836): Added support for both DVB frontends of the Lifeview Trio
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>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index ce888f704956..fa8339879095 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -50,6 +50,10 @@ static unsigned int antenna_pwr = 0; | |||
50 | module_param(antenna_pwr, int, 0444); | 50 | module_param(antenna_pwr, int, 0444); |
51 | MODULE_PARM_DESC(antenna_pwr,"enable antenna power (Pinnacle 300i)"); | 51 | MODULE_PARM_DESC(antenna_pwr,"enable antenna power (Pinnacle 300i)"); |
52 | 52 | ||
53 | static int use_frontent = 0; | ||
54 | module_param(use_frontent, int, 0644); | ||
55 | MODULE_PARM_DESC(use_frontent,"for cards with multiple frontends (0: terrestrial, 1: satellite)"); | ||
56 | |||
53 | /* ------------------------------------------------------------------ */ | 57 | /* ------------------------------------------------------------------ */ |
54 | static int pinnacle_antenna_pwr(struct saa7134_dev *dev, int on) | 58 | static int pinnacle_antenna_pwr(struct saa7134_dev *dev, int on) |
55 | { | 59 | { |
@@ -1299,12 +1303,27 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1299 | } | 1303 | } |
1300 | break; | 1304 | break; |
1301 | case SAA7134_BOARD_FLYDVB_TRIO: | 1305 | case SAA7134_BOARD_FLYDVB_TRIO: |
1302 | dev->dvb.frontend = dvb_attach(tda10046_attach, | 1306 | if(! use_frontent) { //terrestrial |
1303 | &lifeview_trio_config, | 1307 | dev->dvb.frontend = dvb_attach(tda10046_attach, |
1304 | &dev->i2c_adap); | 1308 | &lifeview_trio_config, |
1305 | if (dev->dvb.frontend) { | 1309 | &dev->i2c_adap); |
1306 | dev->dvb.frontend->ops.tuner_ops.sleep = lifeview_trio_tuner_sleep; | 1310 | if (dev->dvb.frontend) { |
1307 | dev->dvb.frontend->ops.tuner_ops.set_params = lifeview_trio_tuner_set_params; | 1311 | dev->dvb.frontend->ops.tuner_ops.sleep = lifeview_trio_tuner_sleep; |
1312 | dev->dvb.frontend->ops.tuner_ops.set_params = | ||
1313 | lifeview_trio_tuner_set_params; | ||
1314 | } | ||
1315 | } else { //satellite | ||
1316 | dev->dvb.frontend = dvb_attach(tda10086_attach, &flydvbs, &dev->i2c_adap); | ||
1317 | if (dev->dvb.frontend) { | ||
1318 | if (dvb_attach(tda826x_attach, dev->dvb.frontend, 0x63, | ||
1319 | &dev->i2c_adap, 0) == NULL) { | ||
1320 | printk("%s: Lifeview Trio, No tda826x found!\n", __FUNCTION__); | ||
1321 | } | ||
1322 | if (dvb_attach(isl6421_attach, dev->dvb.frontend, &dev->i2c_adap, | ||
1323 | 0x08, 0, 0) == NULL) { | ||
1324 | printk("%s: Lifeview Trio, No ISL6421 found!\n", __FUNCTION__); | ||
1325 | } | ||
1326 | } | ||
1308 | } | 1327 | } |
1309 | break; | 1328 | break; |
1310 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 1329 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |