diff options
author | Gerd Knorr <devnull@localhost> | 2005-02-15 15:59:34 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2005-02-15 15:59:34 +0000 |
commit | 7d4651c8e0961354b298165ec03219c02bc7c734 (patch) | |
tree | f5288a3b033c9d07e9963080023e045b567aeb6e /linux/drivers/media/video/cx88 | |
parent | b57159d1bd8754b2845b558cf778e9698bb0fc71 (diff) | |
download | mediapointer-dvb-s2-7d4651c8e0961354b298165ec03219c02bc7c734.tar.gz mediapointer-dvb-s2-7d4651c8e0961354b298165ec03219c02bc7c734.tar.bz2 |
- merge some patches from mainline.
- tuner kernel message fixups.
- misc.
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 26 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 39 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-i2c.c | 4 |
3 files changed, 36 insertions, 33 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index ee18141ca..a74ef661d 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-cards.c,v 1.62 2005/02/14 16:30:26 kraxel Exp $ + * $Id: cx88-cards.c,v 1.63 2005/02/15 15:59:34 kraxel Exp $ * * device driver for Conexant 2388x based TV cards * card-specific stuff. @@ -26,15 +26,7 @@ #include <linux/pci.h> #include <linux/delay.h> -#if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) -# define WITH_DVB 1 -#endif - #include "cx88.h" -#ifdef WITH_DVB -# include "dvb-pll.h" -# include "cx22702.h" -#endif /* ------------------------------------------------------------------ */ /* board config info */ @@ -716,7 +708,6 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data) core->has_radio = tv.has_radio; } -#ifdef WITH_DVB static int hauppauge_eeprom_dvb(struct cx88_core *core, u8 *ee) { int model; @@ -750,7 +741,6 @@ static int hauppauge_eeprom_dvb(struct cx88_core *core, u8 *ee) printk(KERN_INFO "%s: hauppauge eeprom: model=%d, tuner=%d\n", core->name, model, tuner); } -#endif /* ----------------------------------------------------------------------- */ /* some GDI (was: Modular Technology) specific stuff */ @@ -854,28 +844,17 @@ void cx88_card_setup(struct cx88_core *core) if (0 == core->i2c_rc) leadtek_eeprom(core,eeprom); break; -#ifdef WITH_DVB case CX88_BOARD_HAUPPAUGE_DVB_T1: if (0 == core->i2c_rc) hauppauge_eeprom_dvb(core,eeprom); break; case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1: - /* GPIO0:0 is hooked to mt352 reset pin */ - cx_set(MO_GP0_IO, 0x00000101); - cx_clear(MO_GP0_IO, 0x00000001); - msleep(1); - cx_set(MO_GP0_IO, 0x00000101); - core->pll_addr = 0x61; - core->pll_desc = &dvb_pll_lg_z201; - break; case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS: /* GPIO0:0 is hooked to mt352 reset pin */ cx_set(MO_GP0_IO, 0x00000101); cx_clear(MO_GP0_IO, 0x00000001); msleep(1); cx_set(MO_GP0_IO, 0x00000101); - core->pll_addr = 0x60; - core->pll_desc = &dvb_pll_thomson_dtt7579; break; case CX88_BOARD_KWORLD_DVB_T: case CX88_BOARD_DNTV_LIVE_DVB_T: @@ -885,10 +864,7 @@ void cx88_card_setup(struct cx88_core *core) msleep(1); cx_clear(MO_GP0_IO, 0x00000007); cx_set(MO_GP2_IO, 0x00000101); - core->pll_addr = 0x61; - core->pll_desc = &dvb_pll_unknown_1; break; -#endif } if (cx88_boards[core->board].radio.type == CX88_RADIO) core->has_radio = 1; diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index 316e5d3f6..057c7349c 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-dvb.c,v 1.26 2005/02/10 11:43:41 kraxel Exp $ + * $Id: cx88-dvb.c,v 1.27 2005/02/15 15:59:35 kraxel Exp $ * * device driver for Conexant 2388x based TV cards * MPEG Transport Stream (DVB) routines @@ -30,12 +30,20 @@ #include <linux/file.h> #include <linux/suspend.h> +/* those two frontends need merging via linuxtv cvs ... */ +#define HAVE_CX22702 1 +#define HAVE_OR51132 1 + #include "cx88.h" #include "dvb-pll.h" -#include "cx22702.h" #include "mt352.h" -#include "mt352_priv.h" /* FIXME */ -#include "or51132.h" +#include "mt352_priv.h" +#if HAVE_CX22702 +# include "cx22702.h" +#endif +#if HAVE_OR51132 +# include "or51132.h" +#endif MODULE_DESCRIPTION("driver for cx2388x based DVB cards"); MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>"); @@ -160,6 +168,7 @@ static struct mt352_config dntv_live_dvbt_config = { .pll_set = mt352_pll_set, }; +#if HAVE_CX22702 static struct cx22702_config connexant_refboard_config = { .demod_address = 0x43, .pll_address = 0x60, @@ -171,12 +180,15 @@ static struct cx22702_config hauppauge_novat_config = { .pll_address = 0x61, .pll_desc = &dvb_pll_thomson_dtt759x, }; +#endif +#if HAVE_OR51132 struct or51132_config pchdtv_hd3000 = { .demod_address = 0x15, .pll_address = 0x61, .pll_desc = &dvb_pll_thomson_dtt7610, }; +#endif static int dvb_register(struct cx8802_dev *dev) { @@ -185,6 +197,7 @@ static int dvb_register(struct cx8802_dev *dev) /* init frontend */ switch (dev->core->board) { +#if HAVE_CX22702 case CX88_BOARD_HAUPPAUGE_DVB_T1: dev->dvb.frontend = cx22702_attach(&hauppauge_novat_config, &dev->core->i2c_adap); @@ -193,23 +206,37 @@ static int dvb_register(struct cx8802_dev *dev) dev->dvb.frontend = cx22702_attach(&connexant_refboard_config, &dev->core->i2c_adap); break; +#endif case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1: + dev->core->pll_addr = 0x61; + dev->core->pll_desc = &dvb_pll_lg_z201; + dev->dvb.frontend = mt352_attach(&dvico_fusionhdtv, + &dev->core->i2c_adap); + break; case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS: + dev->core->pll_addr = 0x60; + dev->core->pll_desc = &dvb_pll_thomson_dtt7579; dev->dvb.frontend = mt352_attach(&dvico_fusionhdtv, &dev->core->i2c_adap); break; case CX88_BOARD_KWORLD_DVB_T: case CX88_BOARD_DNTV_LIVE_DVB_T: + dev->core->pll_addr = 0x61; + dev->core->pll_desc = &dvb_pll_unknown_1; dev->dvb.frontend = mt352_attach(&dntv_live_dvbt_config, &dev->core->i2c_adap); break; +#if HAVE_OR51132 case CX88_BOARD_PCHDTV_HD3000: dev->dvb.frontend = or51132_attach(&pchdtv_hd3000, &dev->core->i2c_adap); break; +#endif default: - printk("%s: FIXME: frontend handling not here yet ...\n", - dev->core->name); + printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n" + "%s: you might want to look out for patches here:\n" + "%s: http://dl.bytesex.org/patches/\n", + dev->core->name, dev->core->name, dev->core->name); break; } if (NULL == dev->dvb.frontend) { diff --git a/linux/drivers/media/video/cx88/cx88-i2c.c b/linux/drivers/media/video/cx88/cx88-i2c.c index def26d334..d15eae3ff 100644 --- a/linux/drivers/media/video/cx88/cx88-i2c.c +++ b/linux/drivers/media/video/cx88/cx88-i2c.c @@ -1,5 +1,5 @@ /* - $Id: cx88-i2c.c,v 1.19 2004/12/10 12:33:39 kraxel Exp $ + $Id: cx88-i2c.c,v 1.20 2005/02/15 15:59:35 kraxel Exp $ cx88-i2c.c -- all the i2c code is here @@ -135,7 +135,7 @@ static struct i2c_algo_bit_data cx8800_i2c_algo_template = { static struct i2c_adapter cx8800_i2c_adap_template = { I2C_DEVNAME("cx2388x"), .owner = THIS_MODULE, - .id = I2C_HW_B_BT848, + .id = I2C_HW_B_CX2388x, .client_register = attach_inform, .client_unregister = detach_inform, }; |