diff options
Diffstat (limited to 'drivers/media/video/cx88/cx88-mpeg.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-mpeg.c | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c index 59164fc94f5..b295b76737e 100644 --- a/drivers/media/video/cx88/cx88-mpeg.c +++ b/drivers/media/video/cx88/cx88-mpeg.c @@ -787,6 +787,9 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev, dev->pci = pci_dev; dev->core = core; + /* Maintain a reference so cx88-video can query the 8802 device. */ + core->dvbdev = dev; + err = cx8802_init_common(dev); if (err != 0) goto fail_free; @@ -794,32 +797,6 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev, INIT_LIST_HEAD(&dev->drvlist); list_add_tail(&dev->devlist,&cx8802_devlist); -#if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) - mutex_init(&dev->frontends.lock); - INIT_LIST_HEAD(&dev->frontends.felist); - - if (core->board.num_frontends) { - struct videobuf_dvb_frontend *fe; - int i; - - printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, - core->board.num_frontends); - for (i = 1; i <= core->board.num_frontends; i++) { - fe = videobuf_dvb_alloc_frontend(&dev->frontends, i); - if(fe == NULL) { - printk(KERN_ERR "%s() failed to alloc\n", - __func__); - videobuf_dvb_dealloc_frontends(&dev->frontends); - err = -ENOMEM; - goto fail_free; - } - } - } -#endif - - /* Maintain a reference so cx88-video can query the 8802 device. */ - core->dvbdev = dev; - /* now autoload cx88-dvb or cx88-blackbird */ request_modules(dev); return 0; @@ -827,6 +804,7 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev, fail_free: kfree(dev); fail_core: + core->dvbdev = NULL; cx88_core_put(core,pci_dev); return err; } |