Loading drivers/media/video/vivi.c +7 −10 Original line number Diff line number Diff line Loading @@ -820,14 +820,11 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f) { struct vivi_dev *dev = video_drvdata(file); struct videobuf_queue *q = &dev->vb_vidq; int ret = vidioc_try_fmt_vid_cap(file, priv, f); if (ret < 0) return ret; mutex_lock(&q->vb_lock); if (vivi_is_generating(dev)) { dprintk(dev, 1, "%s device busy\n", __func__); ret = -EBUSY; Loading @@ -840,7 +837,6 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, dev->vb_vidq.field = f->fmt.pix.field; ret = 0; out: mutex_unlock(&q->vb_lock); return ret; } Loading Loading @@ -1086,7 +1082,7 @@ static const struct v4l2_file_operations vivi_fops = { .release = vivi_close, .read = vivi_read, .poll = vivi_poll, .ioctl = video_ioctl2, /* V4L2 ioctl handler */ .unlocked_ioctl = video_ioctl2, /* V4L2 ioctl handler */ .mmap = vivi_mmap, }; Loading Loading @@ -1173,19 +1169,19 @@ static int __init vivi_create_instance(int inst) dev->saturation = 127; dev->hue = 0; /* initialize locks */ spin_lock_init(&dev->slock); mutex_init(&dev->mutex); videobuf_queue_vmalloc_init(&dev->vb_vidq, &vivi_video_qops, NULL, &dev->slock, V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_FIELD_INTERLACED, sizeof(struct vivi_buffer), dev, NULL); sizeof(struct vivi_buffer), dev, &dev->mutex); /* init video dma queues */ INIT_LIST_HEAD(&dev->vidq.active); init_waitqueue_head(&dev->vidq.wq); /* initialize locks */ spin_lock_init(&dev->slock); mutex_init(&dev->mutex); ret = -ENOMEM; vfd = video_device_alloc(); if (!vfd) Loading @@ -1194,6 +1190,7 @@ static int __init vivi_create_instance(int inst) *vfd = vivi_template; vfd->debug = debug; vfd->v4l2_dev = &dev->v4l2_dev; vfd->lock = &dev->mutex; ret = video_register_device(vfd, VFL_TYPE_GRABBER, video_nr); if (ret < 0) Loading Loading
drivers/media/video/vivi.c +7 −10 Original line number Diff line number Diff line Loading @@ -820,14 +820,11 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f) { struct vivi_dev *dev = video_drvdata(file); struct videobuf_queue *q = &dev->vb_vidq; int ret = vidioc_try_fmt_vid_cap(file, priv, f); if (ret < 0) return ret; mutex_lock(&q->vb_lock); if (vivi_is_generating(dev)) { dprintk(dev, 1, "%s device busy\n", __func__); ret = -EBUSY; Loading @@ -840,7 +837,6 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, dev->vb_vidq.field = f->fmt.pix.field; ret = 0; out: mutex_unlock(&q->vb_lock); return ret; } Loading Loading @@ -1086,7 +1082,7 @@ static const struct v4l2_file_operations vivi_fops = { .release = vivi_close, .read = vivi_read, .poll = vivi_poll, .ioctl = video_ioctl2, /* V4L2 ioctl handler */ .unlocked_ioctl = video_ioctl2, /* V4L2 ioctl handler */ .mmap = vivi_mmap, }; Loading Loading @@ -1173,19 +1169,19 @@ static int __init vivi_create_instance(int inst) dev->saturation = 127; dev->hue = 0; /* initialize locks */ spin_lock_init(&dev->slock); mutex_init(&dev->mutex); videobuf_queue_vmalloc_init(&dev->vb_vidq, &vivi_video_qops, NULL, &dev->slock, V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_FIELD_INTERLACED, sizeof(struct vivi_buffer), dev, NULL); sizeof(struct vivi_buffer), dev, &dev->mutex); /* init video dma queues */ INIT_LIST_HEAD(&dev->vidq.active); init_waitqueue_head(&dev->vidq.wq); /* initialize locks */ spin_lock_init(&dev->slock); mutex_init(&dev->mutex); ret = -ENOMEM; vfd = video_device_alloc(); if (!vfd) Loading @@ -1194,6 +1190,7 @@ static int __init vivi_create_instance(int inst) *vfd = vivi_template; vfd->debug = debug; vfd->v4l2_dev = &dev->v4l2_dev; vfd->lock = &dev->mutex; ret = video_register_device(vfd, VFL_TYPE_GRABBER, video_nr); if (ret < 0) Loading