summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-10-25 11:26:35 +0000
committerGerd Knorr <devnull@localhost>2004-10-25 11:26:35 +0000
commit500c59b431256f91f87b8c82dfa13982d08fc780 (patch)
tree4666be071a93b383ebda3b7bcab826d3a1b9adc6 /linux
parenta3447d4616de78c449b78904b8b5e66db92f2c58 (diff)
downloadmediapointer-dvb-s2-500c59b431256f91f87b8c82dfa13982d08fc780.tar.gz
mediapointer-dvb-s2-500c59b431256f91f87b8c82dfa13982d08fc780.tar.bz2
- new saa7134 card by Nickolay V. Shmyrev
- misc stuff
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/bttv-cards.c5
-rw-r--r--linux/drivers/media/video/bttv-driver.c10
-rw-r--r--linux/drivers/media/video/bttvp.h4
-rw-r--r--linux/drivers/media/video/cx88/cx88-core.c19
-rw-r--r--linux/drivers/media/video/cx88/cx88-mpeg.c10
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c34
-rw-r--r--linux/drivers/media/video/cx88/cx88.h6
-rw-r--r--linux/drivers/media/video/ir-kbd-gpio.c4
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-cards.c41
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-input.c3
-rw-r--r--linux/drivers/media/video/saa7134/saa7134.h5
-rw-r--r--linux/drivers/media/video/tda9887.c2
12 files changed, 110 insertions, 33 deletions
diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c
index 805cc389b..14a3be1f4 100644
--- a/linux/drivers/media/video/bttv-cards.c
+++ b/linux/drivers/media/video/bttv-cards.c
@@ -1,5 +1,5 @@
/*
- $Id: bttv-cards.c,v 1.29 2004/10/13 10:39:00 kraxel Exp $
+ $Id: bttv-cards.c,v 1.30 2004/10/25 11:26:35 kraxel Exp $
bttv-cards.c
@@ -194,6 +194,7 @@ static struct CARD {
{ 0x3060121a, BTTV_STB2, "3Dfx VoodooTV 100/ STB OEM" },
{ 0x3000144f, BTTV_MAGICTVIEW063, "(Askey Magic/others) TView99 CPH06x" },
+ { 0xa005144f, BTTV_MAGICTVIEW063, "CPH06X TView99-Card" },
{ 0x3002144f, BTTV_MAGICTVIEW061, "(Askey Magic/others) TView99 CPH05x" },
{ 0x3005144f, BTTV_MAGICTVIEW061, "(Askey Magic/others) TView99 CPH061/06L (T1/LC)" },
{ 0x5000144f, BTTV_MAGICTVIEW061, "Askey CPH050" },
@@ -2084,9 +2085,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.has_dvb = 1,
.no_gpioirq = 1,
-#if 0 /* untested */
.has_remote = 1,
-#endif
},{
/* ---- card 0x7c ---------------------------------- */
/* Matt Jesson <dvb@jesson.eclipse.co.uk> */
diff --git a/linux/drivers/media/video/bttv-driver.c b/linux/drivers/media/video/bttv-driver.c
index 468d77813..d2fe84447 100644
--- a/linux/drivers/media/video/bttv-driver.c
+++ b/linux/drivers/media/video/bttv-driver.c
@@ -1,6 +1,6 @@
/*
- $Id: bttv-driver.c,v 1.23 2004/10/13 10:39:00 kraxel Exp $
+ $Id: bttv-driver.c,v 1.24 2004/10/25 11:26:36 kraxel Exp $
bttv - Bt848 frame grabber driver
@@ -3973,7 +3973,11 @@ static int bttv_suspend(struct pci_dev *pci_dev, u32 state)
btv->state.gpio_data = gpio_read();
/* save pci state */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
pci_save_state(pci_dev, btv->state.pci_cfg);
+#else
+ pci_save_state(pci_dev);
+#endif
if (0 != pci_set_power_state(pci_dev, state)) {
pci_disable_device(pci_dev);
btv->state.disabled = 1;
@@ -3994,7 +3998,11 @@ static int bttv_resume(struct pci_dev *pci_dev)
btv->state.disabled = 0;
}
pci_set_power_state(pci_dev, 0);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
pci_restore_state(pci_dev, btv->state.pci_cfg);
+#else
+ pci_restore_state(pci_dev);
+#endif
/* restore bt878 state */
bttv_reinit_bt848(btv);
diff --git a/linux/drivers/media/video/bttvp.h b/linux/drivers/media/video/bttvp.h
index 5297b6749..8cbb5a861 100644
--- a/linux/drivers/media/video/bttvp.h
+++ b/linux/drivers/media/video/bttvp.h
@@ -1,5 +1,5 @@
/*
- $Id: bttvp.h,v 1.11 2004/10/13 10:39:00 kraxel Exp $
+ $Id: bttvp.h,v 1.12 2004/10/25 11:26:36 kraxel Exp $
bttv - Bt848 frame grabber driver
@@ -291,7 +291,9 @@ struct bttv_input {
};
struct bttv_suspend_state {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
u32 pci_cfg[64 / sizeof(u32)];
+#endif
u32 gpio_enable;
u32 gpio_data;
int disabled;
diff --git a/linux/drivers/media/video/cx88/cx88-core.c b/linux/drivers/media/video/cx88/cx88-core.c
index 5673286c2..36169c106 100644
--- a/linux/drivers/media/video/cx88/cx88-core.c
+++ b/linux/drivers/media/video/cx88/cx88-core.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-core.c,v 1.14 2004/10/13 10:39:00 kraxel Exp $
+ * $Id: cx88-core.c,v 1.15 2004/10/25 11:26:36 kraxel Exp $
*
* device driver for Conexant 2388x based TV cards
* driver core
@@ -50,13 +50,18 @@ module_param(latency,int,0444);
MODULE_PARM_DESC(latency,"pci latency timer");
static unsigned int tuner[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static int tuner_num;
-module_param_array(tuner,int,tuner_num,0444);
-MODULE_PARM_DESC(tuner,"tuner type");
+static unsigned int card[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static unsigned int card[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static int card_num;
-module_param_array(card,int,card_num,0444);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
+static int dummy;
+module_param_array(tuner, int, dummy, 0444);
+module_param_array(card, int, dummy, 0444);
+#else
+module_param_array(tuner, int, NULL, 0444);
+module_param_array(card, int, NULL, 0444);
+#endif
+
+MODULE_PARM_DESC(tuner,"tuner type");
MODULE_PARM_DESC(card,"card type");
static unsigned int nicam = 0;
diff --git a/linux/drivers/media/video/cx88/cx88-mpeg.c b/linux/drivers/media/video/cx88/cx88-mpeg.c
index 7b45b5d8a..d2e9767e8 100644
--- a/linux/drivers/media/video/cx88/cx88-mpeg.c
+++ b/linux/drivers/media/video/cx88/cx88-mpeg.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-mpeg.c,v 1.13 2004/10/19 16:02:04 kraxel Exp $
+ * $Id: cx88-mpeg.c,v 1.14 2004/10/25 11:26:36 kraxel Exp $
*
* Support for the mpeg transport stream transfers
* PCI function #2 of the cx2388x.
@@ -412,7 +412,11 @@ int cx8802_suspend_common(struct pci_dev *pci_dev, u32 state)
cx88_shutdown(dev->core);
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
pci_save_state(pci_dev, dev->state.pci_cfg);
+#else
+ pci_save_state(pci_dev);
+#endif
if (0 != pci_set_power_state(pci_dev, state)) {
pci_disable_device(pci_dev);
dev->state.disabled = 1;
@@ -430,7 +434,11 @@ int cx8802_resume_common(struct pci_dev *pci_dev)
dev->state.disabled = 0;
}
pci_set_power_state(pci_dev, 0);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
pci_restore_state(pci_dev, dev->state.pci_cfg);
+#else
+ pci_restore_state(pci_dev);
+#endif
#if 1
/* FIXME: re-initialize hardware */
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index c1ee8baa4..933f7739d 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-video.c,v 1.43 2004/10/19 16:02:05 kraxel Exp $
+ * $Id: cx88-video.c,v 1.44 2004/10/25 11:26:36 kraxel Exp $
*
* device driver for Conexant 2388x based TV cards
* video4linux video interface
@@ -41,18 +41,22 @@ MODULE_LICENSE("GPL");
/* ------------------------------------------------------------------ */
static unsigned int video_nr[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static unsigned int video_nr_num;
-module_param_array(video_nr,int,video_nr_num,0444);
-MODULE_PARM_DESC(video_nr,"video device numbers");
+static unsigned int vbi_nr[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
+static unsigned int radio_nr[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static unsigned int vbi_nr[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static unsigned int vbi_nr_num;
-module_param_array(vbi_nr,int,vbi_nr_num,0444);
-MODULE_PARM_DESC(vbi_nr,"vbi device numbers");
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
+static unsigned int dummy;
+module_param_array(video_nr, int, dummy, 0444);
+module_param_array(vbi_nr, int, dummy, 0444);
+module_param_array(radio_nr, int, dummy, 0444);
+#else
+module_param_array(video_nr, int, NULL, 0444);
+module_param_array(vbi_nr, int, NULL, 0444);
+module_param_array(radio_nr, int, NULL, 0444);
+#endif
-static unsigned int radio_nr[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
-static unsigned int radio_nr_num;
-module_param_array(radio_nr,int,radio_nr_num,0444);
+MODULE_PARM_DESC(video_nr,"video device numbers");
+MODULE_PARM_DESC(vbi_nr,"vbi device numbers");
MODULE_PARM_DESC(radio_nr,"radio device numbers");
static unsigned int video_debug = 0;
@@ -2186,7 +2190,11 @@ static int cx8800_suspend(struct pci_dev *pci_dev, u32 state)
cx88_shutdown(dev->core);
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
pci_save_state(pci_dev, dev->state.pci_cfg);
+#else
+ pci_save_state(pci_dev);
+#endif
if (0 != pci_set_power_state(pci_dev, state)) {
pci_disable_device(pci_dev);
dev->state.disabled = 1;
@@ -2204,7 +2212,11 @@ static int cx8800_resume(struct pci_dev *pci_dev)
dev->state.disabled = 0;
}
pci_set_power_state(pci_dev, 0);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
pci_restore_state(pci_dev, dev->state.pci_cfg);
+#else
+ pci_restore_state(pci_dev);
+#endif
#if 1
/* FIXME: re-initialize hardware */
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index f9412befd..8dcb768c8 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -1,5 +1,5 @@
/*
- * $Id: cx88.h,v 1.38 2004/10/19 16:02:05 kraxel Exp $
+ * $Id: cx88.h,v 1.39 2004/10/25 11:26:36 kraxel Exp $
*
* v4l2 device driver for cx2388x based TV cards
*
@@ -291,7 +291,9 @@ struct cx8800_fh {
};
struct cx8800_suspend_state {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
u32 pci_cfg[64 / sizeof(u32)];
+#endif
int disabled;
};
@@ -348,7 +350,9 @@ struct cx8802_fh {
};
struct cx8802_suspend_state {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
u32 pci_cfg[64 / sizeof(u32)];
+#endif
int disabled;
};
diff --git a/linux/drivers/media/video/ir-kbd-gpio.c b/linux/drivers/media/video/ir-kbd-gpio.c
index 2565f1912..81ea27d39 100644
--- a/linux/drivers/media/video/ir-kbd-gpio.c
+++ b/linux/drivers/media/video/ir-kbd-gpio.c
@@ -1,5 +1,5 @@
/*
- * $Id: ir-kbd-gpio.c,v 1.10 2004/09/15 16:15:24 kraxel Exp $
+ * $Id: ir-kbd-gpio.c,v 1.11 2004/10/25 11:26:36 kraxel Exp $
*
* Copyright (c) 2003 Gerd Knorr
* Copyright (c) 2003 Pavel Machek
@@ -366,7 +366,7 @@ static int ir_probe(struct device *dev)
break;
case BTTV_AVDVBT_761:
- /* case BTTV_AVDVBT_771: */
+ case BTTV_AVDVBT_771:
ir_codes = ir_codes_avermedia_dvbt;
ir->mask_keycode = 0x0f00c0;
ir->mask_keydown = 0x000020;
diff --git a/linux/drivers/media/video/saa7134/saa7134-cards.c b/linux/drivers/media/video/saa7134/saa7134-cards.c
index 784220844..b4edb34a1 100644
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-cards.c,v 1.30 2004/10/19 16:02:05 kraxel Exp $
+ * $Id: saa7134-cards.c,v 1.31 2004/10/25 11:26:36 kraxel Exp $
*
* device driver for philips saa7134 based TV cards
* card-specific stuff.
@@ -1174,7 +1174,7 @@ struct saa7134_board saa7134_boards[] = {
.tv = 1,
}},
},
- [SAA7134_EMPIRE_PCI_TV_RADIO_LE] = {
+ [SAA7134_BOARD_EMPIRE_PCI_TV_RADIO_LE] = {
/* "Matteo Az" <matte.az@nospam.libero.it> ;-) */
.name = "Empire PCI TV-Radio LE",
.audio_clock = 0x00187de7,
@@ -1208,6 +1208,35 @@ struct saa7134_board saa7134_boards[] = {
.gpio =0x8000,
}
},
+ [SAA7134_BOARD_AVERMEDIA_307] = {
+ /* Nickolay V. Shmyrev <nshmyrev@yandex.ru> */
+ .name = "Avermedia AVerTV Studio 307",
+ .audio_clock = 0x00187de7,
+ .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
+ .tda9887_conf = TDA9887_PRESENT,
+ .inputs = {{
+ .name = name_tv,
+ .vmux = 1,
+ .amux = TV,
+ .tv = 1,
+ },{
+ .name = name_comp1,
+ .vmux = 0,
+ .amux = LINE2,
+ },{
+ .name = name_comp2,
+ .vmux = 3,
+ .amux = LINE2,
+ },{
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE2,
+ }},
+ .radio = {
+ .name = name_radio,
+ .amux = TV,
+ },
+ },
};
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -1435,6 +1464,13 @@ struct pci_device_id saa7134_pci_tbl[] = {
.driver_data = SAA7134_BOARD_VIDEOMATE_TV_PVR,
},{
+ .vendor = PCI_VENDOR_ID_PHILIPS,
+ .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
+ .subvendor = 0x1461, /* Avermedia Technologies Inc */
+ .subdevice = 0x9715,
+ .driver_data = SAA7134_BOARD_AVERMEDIA_307,
+
+ },{
/* --- boards without eeprom + subsystem ID --- */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -1550,6 +1586,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
case SAA7134_BOARD_ECS_TVP3XP:
case SAA7134_BOARD_ECS_TVP3XP_4CB5:
case SAA7134_BOARD_MD2819:
+ case SAA7134_BOARD_AVERMEDIA_307:
dev->has_remote = 1;
break;
case SAA7134_BOARD_AVACSSMARTTV:
diff --git a/linux/drivers/media/video/saa7134/saa7134-input.c b/linux/drivers/media/video/saa7134/saa7134-input.c
index ff0582136..b59a63f1a 100644
--- a/linux/drivers/media/video/saa7134/saa7134-input.c
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-input.c,v 1.10 2004/10/13 10:39:00 kraxel Exp $
+ * $Id: saa7134-input.c,v 1.11 2004/10/25 11:26:36 kraxel Exp $
*
* handle saa7134 IR remotes via linux kernel input layer.
*
@@ -353,6 +353,7 @@ int saa7134_input_init1(struct saa7134_dev *dev)
polling = 50; // ms
break;
case SAA7134_BOARD_MD2819:
+ case SAA7134_BOARD_AVERMEDIA_307:
ir_codes = md2819_codes;
mask_keycode = 0x0007C8;
mask_keydown = 0x000010;
diff --git a/linux/drivers/media/video/saa7134/saa7134.h b/linux/drivers/media/video/saa7134/saa7134.h
index b55aa1b17..ebaa6e76f 100644
--- a/linux/drivers/media/video/saa7134/saa7134.h
+++ b/linux/drivers/media/video/saa7134/saa7134.h
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134.h,v 1.24 2004/10/20 17:44:24 kraxel Exp $
+ * $Id: saa7134.h,v 1.25 2004/10/25 11:26:36 kraxel Exp $
*
* v4l2 device driver for philips saa7134 based TV cards
*
@@ -184,7 +184,8 @@ struct saa7134_format {
#define SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS 41
#define SAA7134_BOARD_SABRENT_SBTTVFM 42
#define SAA7134_BOARD_ZOLID_XPERT_TV7134 43
-#define SAA7134_EMPIRE_PCI_TV_RADIO_LE 44
+#define SAA7134_BOARD_EMPIRE_PCI_TV_RADIO_LE 44
+#define SAA7134_BOARD_AVERMEDIA_307 45
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
diff --git a/linux/drivers/media/video/tda9887.c b/linux/drivers/media/video/tda9887.c
index dc3ad44cc..6c5d72b31 100644
--- a/linux/drivers/media/video/tda9887.c
+++ b/linux/drivers/media/video/tda9887.c
@@ -556,7 +556,7 @@ static int tda9887_configure(struct tda9887 *t)
printk(PREFIX "i2c i/o error: rc == %d (should be 4)\n",rc);
if (debug > 2) {
- msleep(1000);
+ msleep_interruptible(1000);
tda9887_status(t);
}
return 0;