V4L/DVB: vivi: remove BKL
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
0e0809a588
commit
fedc6c81fa
@@ -820,14 +820,11 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
|
|||||||
struct v4l2_format *f)
|
struct v4l2_format *f)
|
||||||
{
|
{
|
||||||
struct vivi_dev *dev = video_drvdata(file);
|
struct vivi_dev *dev = video_drvdata(file);
|
||||||
struct videobuf_queue *q = &dev->vb_vidq;
|
|
||||||
|
|
||||||
int ret = vidioc_try_fmt_vid_cap(file, priv, f);
|
int ret = vidioc_try_fmt_vid_cap(file, priv, f);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
mutex_lock(&q->vb_lock);
|
|
||||||
|
|
||||||
if (vivi_is_generating(dev)) {
|
if (vivi_is_generating(dev)) {
|
||||||
dprintk(dev, 1, "%s device busy\n", __func__);
|
dprintk(dev, 1, "%s device busy\n", __func__);
|
||||||
ret = -EBUSY;
|
ret = -EBUSY;
|
||||||
@@ -840,7 +837,6 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
|
|||||||
dev->vb_vidq.field = f->fmt.pix.field;
|
dev->vb_vidq.field = f->fmt.pix.field;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&q->vb_lock);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1086,7 +1082,7 @@ static const struct v4l2_file_operations vivi_fops = {
|
|||||||
.release = vivi_close,
|
.release = vivi_close,
|
||||||
.read = vivi_read,
|
.read = vivi_read,
|
||||||
.poll = vivi_poll,
|
.poll = vivi_poll,
|
||||||
.ioctl = video_ioctl2, /* V4L2 ioctl handler */
|
.unlocked_ioctl = video_ioctl2, /* V4L2 ioctl handler */
|
||||||
.mmap = vivi_mmap,
|
.mmap = vivi_mmap,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1173,19 +1169,19 @@ static int __init vivi_create_instance(int inst)
|
|||||||
dev->saturation = 127;
|
dev->saturation = 127;
|
||||||
dev->hue = 0;
|
dev->hue = 0;
|
||||||
|
|
||||||
|
/* initialize locks */
|
||||||
|
spin_lock_init(&dev->slock);
|
||||||
|
mutex_init(&dev->mutex);
|
||||||
|
|
||||||
videobuf_queue_vmalloc_init(&dev->vb_vidq, &vivi_video_qops,
|
videobuf_queue_vmalloc_init(&dev->vb_vidq, &vivi_video_qops,
|
||||||
NULL, &dev->slock, V4L2_BUF_TYPE_VIDEO_CAPTURE,
|
NULL, &dev->slock, V4L2_BUF_TYPE_VIDEO_CAPTURE,
|
||||||
V4L2_FIELD_INTERLACED,
|
V4L2_FIELD_INTERLACED,
|
||||||
sizeof(struct vivi_buffer), dev, NULL);
|
sizeof(struct vivi_buffer), dev, &dev->mutex);
|
||||||
|
|
||||||
/* init video dma queues */
|
/* init video dma queues */
|
||||||
INIT_LIST_HEAD(&dev->vidq.active);
|
INIT_LIST_HEAD(&dev->vidq.active);
|
||||||
init_waitqueue_head(&dev->vidq.wq);
|
init_waitqueue_head(&dev->vidq.wq);
|
||||||
|
|
||||||
/* initialize locks */
|
|
||||||
spin_lock_init(&dev->slock);
|
|
||||||
mutex_init(&dev->mutex);
|
|
||||||
|
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
vfd = video_device_alloc();
|
vfd = video_device_alloc();
|
||||||
if (!vfd)
|
if (!vfd)
|
||||||
@@ -1194,6 +1190,7 @@ static int __init vivi_create_instance(int inst)
|
|||||||
*vfd = vivi_template;
|
*vfd = vivi_template;
|
||||||
vfd->debug = debug;
|
vfd->debug = debug;
|
||||||
vfd->v4l2_dev = &dev->v4l2_dev;
|
vfd->v4l2_dev = &dev->v4l2_dev;
|
||||||
|
vfd->lock = &dev->mutex;
|
||||||
|
|
||||||
ret = video_register_device(vfd, VFL_TYPE_GRABBER, video_nr);
|
ret = video_register_device(vfd, VFL_TYPE_GRABBER, video_nr);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
Reference in New Issue
Block a user