diff options
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-i2c.c | 2 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-video.c | 24 |
3 files changed, 28 insertions, 2 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index df990c859..9fd1e5b58 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -404,13 +404,13 @@ void __devinit cx88_card_setup(struct cx8800_dev *dev) switch (dev->board) { case CX88_BOARD_HAUPPAUGE: - printk("cx88_card_setup: Hauppauge\n") + printk("cx88_card_setup: Hauppauge\n"); if (0 == dev->i2c_rc) i2c_eeprom(&dev->i2c_client,eeprom,sizeof(eeprom)); hauppauge_eeprom(dev,eeprom+8); break; case CX88_BOARD_GDI: - printk("cx88_card_setup: GDI\n") + printk("cx88_card_setup: GDI\n"); if (0 == dev->i2c_rc) i2c_eeprom(&dev->i2c_client,eeprom,sizeof(eeprom)); gdi_eeprom(dev,eeprom); diff --git a/linux/drivers/media/video/cx88/cx88-i2c.c b/linux/drivers/media/video/cx88/cx88-i2c.c index 2de607e1f..8bbf4bef5 100644 --- a/linux/drivers/media/video/cx88/cx88-i2c.c +++ b/linux/drivers/media/video/cx88/cx88-i2c.c @@ -164,6 +164,8 @@ int __devinit cx8800_i2c_init(struct cx8800_dev *dev) cx8800_bit_setsda(dev,1); dev->i2c_rc = i2c_bit_add_bus(&dev->i2c_adap); + printk("%s: i2c register %s\n", dev->name, + (0 == dev->i2c_rc) ? "ok" : "FAILED"); return dev->i2c_rc; } diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c index e831b1c0d..56b72e44d 100644 --- a/linux/drivers/media/video/cx88/cx88-video.c +++ b/linux/drivers/media/video/cx88/cx88-video.c @@ -1757,6 +1757,30 @@ static int video_do_ioctl(struct inode *inode, struct file *file, } /* --- streaming capture ------------------------------------- */ + case VIDIOCGMBUF: + { + struct video_mbuf *mbuf = arg; + struct videobuf_queue *q; + struct v4l2_requestbuffers req; + unsigned int i; + + q = get_queue(fh); + memset(&req,0,sizeof(req)); + req.type = q->type; + req.count = 8; + req.memory = V4L2_MEMORY_MMAP; + err = videobuf_reqbufs(file,q,&req); + if (err < 0) + return err; + memset(mbuf,0,sizeof(*mbuf)); + mbuf->frames = req.count; + mbuf->size = 0; + for (i = 0; i < mbuf->frames; i++) { + mbuf->offsets[i] = q->bufs[i]->boff; + mbuf->size += q->bufs[i]->bsize; + } + return 0; + } case VIDIOC_REQBUFS: return videobuf_reqbufs(file, get_queue(fh), arg); |