summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2005-02-15 15:59:34 +0000
committerGerd Knorr <devnull@localhost>2005-02-15 15:59:34 +0000
commit7d4651c8e0961354b298165ec03219c02bc7c734 (patch)
treef5288a3b033c9d07e9963080023e045b567aeb6e /linux/drivers/media/video/cx88
parentb57159d1bd8754b2845b558cf778e9698bb0fc71 (diff)
downloadmediapointer-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.c26
-rw-r--r--linux/drivers/media/video/cx88/cx88-dvb.c39
-rw-r--r--linux/drivers/media/video/cx88/cx88-i2c.c4
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,
};