summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-05-25 09:27:51 +0000
committerGerd Knorr <devnull@localhost>2004-05-25 09:27:51 +0000
commitd84c0e5fbf5fe6aab329a6db23bc875d86c8ae4a (patch)
treef390a2149a195d50bb38c8141b02b5e08b020e55
parent69cd64171bc82d6a825732217dde776d136fe8f9 (diff)
downloadmediapointer-dvb-s2-d84c0e5fbf5fe6aab329a6db23bc875d86c8ae4a.tar.gz
mediapointer-dvb-s2-d84c0e5fbf5fe6aab329a6db23bc875d86c8ae4a.tar.bz2
- cx88: added Prolink PlayTV PVR by Matheus Izvekov.
- cx88: kill temporary oops debug code.
-rw-r--r--linux/drivers/media/video/bttv-cards.c1
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c24
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c24
-rw-r--r--linux/drivers/media/video/cx88/cx88.h3
4 files changed, 26 insertions, 26 deletions
diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c
index b74a45614..b7d0082b5 100644
--- a/linux/drivers/media/video/bttv-cards.c
+++ b/linux/drivers/media/video/bttv-cards.c
@@ -1655,6 +1655,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = { 3, 0, 1, 2},
.needs_tvaudio = 0,
.pll = PLL_28,
+ .no_gpioirq = 1,
},{
.name = "Formac ProTV II (bt878)",
.video_inputs = 4,
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index f5a5abca2..adcb6c051 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -226,6 +226,28 @@ struct cx88_board cx88_boards[] = {
.vmux = 2,
}},
},
+ [CX88_BOARD_PROLINK_PLAYTVPVR] = {
+ .name = "Prolink PlayTV PVR",
+ .tuner_type = 43,
+ .needs_tda9887 = 1,
+ .input = {{
+ .type = CX88_VMUX_TELEVISION,
+ .vmux = 0,
+ .gpio0 = 0xff00,
+ },{
+ .type = CX88_VMUX_COMPOSITE1,
+ .vmux = 1,
+ .gpio0 = 0xff03,
+ },{
+ .type = CX88_VMUX_SVIDEO,
+ .vmux = 2,
+ .gpio0 = 0xff03,
+ }},
+ .radio = {
+ .type = CX88_RADIO,
+ .gpio0 = 0xff00,
+ },
+ },
};
const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
@@ -509,7 +531,7 @@ void cx88_card_list(struct cx8800_dev *dev)
}
printk("%s: Here is a list of valid choices for the card=<n> insmod option:\n",
dev->name);
- for (i = 0; i < cx88_idcount; i++)
+ for (i = 0; i < cx88_bcount; i++)
printk("%s: card=%d -> %s\n",
dev->name, i, cx88_boards[i].name);
}
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index 28e986ce5..47dcd2052 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -2319,11 +2319,6 @@ static void cx8800_unregister_video(struct cx8800_dev *dev)
}
}
-/* debug that damn oops ... */
-static unsigned int oops = 0;
-MODULE_PARM(oops,"i");
-#define OOPS(msg) if (oops) printk("%s: %s\n",__FUNCTION__,msg);
-
static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
const struct pci_device_id *pci_id)
{
@@ -2337,7 +2332,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
memset(dev,0,sizeof(*dev));
/* pci init */
- OOPS("pci init");
dev->pci = pci_dev;
if (pci_enable_device(pci_dev)) {
err = -EIO;
@@ -2346,7 +2340,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
sprintf(dev->name,"cx%x[%d]",pci_dev->device,cx8800_devcount);
/* pci quirks */
- OOPS("pci quirks");
cx88_pci_quirks(dev->name, dev->pci, &latency);
if (UNSET != latency) {
printk(KERN_INFO "%s: setting pci latency timer to %d\n",
@@ -2355,7 +2348,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
}
/* print pci info */
- OOPS("pci info");
pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &dev->pci_rev);
pci_read_config_byte(pci_dev, PCI_LATENCY_TIMER, &dev->pci_lat);
printk(KERN_INFO "%s: found at %s, rev: %d, irq: %d, "
@@ -2371,7 +2363,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
}
/* board config */
- OOPS("board config");
dev->board = card[cx8800_devcount];
for (i = 0; UNSET == dev->board && i < cx88_idcount; i++)
if (pci_dev->subsystem_vendor == cx88_subids[i].subvendor &&
@@ -2392,7 +2383,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
dev->tuner_type = cx88_boards[dev->board].tuner_type;
/* get mmio */
- OOPS("get mmio");
if (!request_mem_region(pci_resource_start(pci_dev,0),
pci_resource_len(pci_dev,0),
dev->name)) {
@@ -2406,7 +2396,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
dev->bmmio = (u8*)dev->lmmio;
/* initialize driver struct */
- OOPS("init structs");
init_MUTEX(&dev->lock);
dev->slock = SPIN_LOCK_UNLOCKED;
dev->tvnorm = tvnorms;
@@ -2430,11 +2419,9 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
MO_VID_DMACNTRL,0x88,0x00);
/* initialize hardware */
- OOPS("reset hardware");
cx8800_reset(dev);
/* get irq */
- OOPS("install irq handler");
err = request_irq(pci_dev->irq, cx8800_irq,
SA_SHIRQ | SA_INTERRUPT, dev->name, dev);
if (err < 0) {
@@ -2444,13 +2431,10 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
}
/* register i2c bus + load i2c helpers */
- OOPS("i2c setup");
cx8800_i2c_init(dev);
- OOPS("card setup");
cx88_card_setup(dev);
/* load and configure helper modules */
- OOPS("configure i2c clients");
if (TUNER_ABSENT != dev->tuner_type)
request_module("tuner");
if (cx88_boards[dev->board].needs_tda9887)
@@ -2459,7 +2443,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
cx8800_call_i2c_clients(dev,TUNER_SET_TYPE,&dev->tuner_type);
/* register v4l devices */
- OOPS("register video");
dev->video_dev = vdev_init(dev,&cx8800_video_template,"video");
err = video_register_device(dev->video_dev,VFL_TYPE_GRABBER,
video_nr[cx8800_devcount]);
@@ -2471,7 +2454,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
printk(KERN_INFO "%s: registered device video%d [v4l2]\n",
dev->name,dev->video_dev->minor & 0x1f);
- OOPS("register vbi");
dev->vbi_dev = vdev_init(dev,&cx8800_vbi_template,"vbi");
err = video_register_device(dev->vbi_dev,VFL_TYPE_VBI,
vbi_nr[cx8800_devcount]);
@@ -2484,7 +2466,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
dev->name,dev->vbi_dev->minor & 0x1f);
if (dev->has_radio) {
- OOPS("register radio");
dev->radio_dev = vdev_init(dev,&cx8800_radio_template,"radio");
err = video_register_device(dev->radio_dev,VFL_TYPE_RADIO,
radio_nr[cx8800_devcount]);
@@ -2498,13 +2479,11 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
}
/* everything worked */
- OOPS("finalize");
list_add_tail(&dev->devlist,&cx8800_devlist);
pci_set_drvdata(pci_dev,dev);
cx8800_devcount++;
/* initial device configuration */
- OOPS("init device");
down(&dev->lock);
init_controls(dev);
set_tvnorm(dev,tvnorms);
@@ -2517,17 +2496,14 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
return 0;
fail3:
- OOPS("fail3");
cx8800_unregister_video(dev);
if (0 == dev->i2c_rc)
i2c_bit_del_bus(&dev->i2c_adap);
free_irq(pci_dev->irq, dev);
fail2:
- OOPS("fail2");
release_mem_region(pci_resource_start(pci_dev,0),
pci_resource_len(pci_dev,0));
fail1:
- OOPS("fail1");
kfree(dev);
return err;
}
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index 9a94a566e..35750ce23 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -141,7 +141,8 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_MSI_TVANYWHERE 7
#define CX88_BOARD_WINFAST_DV2000 8
#define CX88_BOARD_LEADTEK_PVR2000 9
-#define CX88_BOARD_IODATA_GVVCP3PCI 10
+#define CX88_BOARD_IODATA_GVVCP3PCI 10
+#define CX88_BOARD_PROLINK_PLAYTVPVR 11
enum cx88_itype {