提交 53aaf076 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

V4L/DVB: v4l videobuf: remove mmap_free callback

Remove the mmap_free callback from struct videobuf_qtype_ops.

All implementations of this callback do the same trivial check: return
-EBUSY if any buffer is mmapped. That can also be tested in the
videobuf core.
Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 33435167
...@@ -311,20 +311,18 @@ static void videobuf_status(struct videobuf_queue *q, struct v4l2_buffer *b, ...@@ -311,20 +311,18 @@ static void videobuf_status(struct videobuf_queue *q, struct v4l2_buffer *b,
static int __videobuf_mmap_free(struct videobuf_queue *q) static int __videobuf_mmap_free(struct videobuf_queue *q)
{ {
int i; int i;
int rc;
if (!q) if (!q)
return 0; return 0;
MAGIC_CHECK(q->int_ops->magic, MAGIC_QTYPE_OPS); MAGIC_CHECK(q->int_ops->magic, MAGIC_QTYPE_OPS);
rc = CALL(q, mmap_free, q); for (i = 0; i < VIDEO_MAX_FRAME; i++)
if (q->bufs[i] && q->bufs[i]->map)
return -EBUSY;
q->is_mmapped = 0; q->is_mmapped = 0;
if (rc < 0)
return rc;
for (i = 0; i < VIDEO_MAX_FRAME; i++) { for (i = 0; i < VIDEO_MAX_FRAME; i++) {
if (NULL == q->bufs[i]) if (NULL == q->bufs[i])
continue; continue;
...@@ -333,7 +331,7 @@ static int __videobuf_mmap_free(struct videobuf_queue *q) ...@@ -333,7 +331,7 @@ static int __videobuf_mmap_free(struct videobuf_queue *q)
q->bufs[i] = NULL; q->bufs[i] = NULL;
} }
return rc; return 0;
} }
int videobuf_mmap_free(struct videobuf_queue *q) int videobuf_mmap_free(struct videobuf_queue *q)
......
...@@ -263,19 +263,6 @@ static int __videobuf_iolock(struct videobuf_queue *q, ...@@ -263,19 +263,6 @@ static int __videobuf_iolock(struct videobuf_queue *q,
return 0; return 0;
} }
static int __videobuf_mmap_free(struct videobuf_queue *q)
{
unsigned int i;
dev_dbg(q->dev, "%s\n", __func__);
for (i = 0; i < VIDEO_MAX_FRAME; i++) {
if (q->bufs[i] && q->bufs[i]->map)
return -EBUSY;
}
return 0;
}
static int __videobuf_mmap_mapper(struct videobuf_queue *q, static int __videobuf_mmap_mapper(struct videobuf_queue *q,
struct vm_area_struct *vma) struct vm_area_struct *vma)
{ {
...@@ -424,7 +411,6 @@ static struct videobuf_qtype_ops qops = { ...@@ -424,7 +411,6 @@ static struct videobuf_qtype_ops qops = {
.alloc = __videobuf_alloc, .alloc = __videobuf_alloc,
.iolock = __videobuf_iolock, .iolock = __videobuf_iolock,
.mmap_free = __videobuf_mmap_free,
.mmap_mapper = __videobuf_mmap_mapper, .mmap_mapper = __videobuf_mmap_mapper,
.video_copy_to_user = __videobuf_copy_to_user, .video_copy_to_user = __videobuf_copy_to_user,
.copy_stream = __videobuf_copy_stream, .copy_stream = __videobuf_copy_stream,
......
...@@ -548,20 +548,6 @@ static int __videobuf_sync(struct videobuf_queue *q, ...@@ -548,20 +548,6 @@ static int __videobuf_sync(struct videobuf_queue *q,
return videobuf_dma_sync(q, &mem->dma); return videobuf_dma_sync(q, &mem->dma);
} }
static int __videobuf_mmap_free(struct videobuf_queue *q)
{
int i;
for (i = 0; i < VIDEO_MAX_FRAME; i++) {
if (q->bufs[i]) {
if (q->bufs[i]->map)
return -EBUSY;
}
}
return 0;
}
static int __videobuf_mmap_mapper(struct videobuf_queue *q, static int __videobuf_mmap_mapper(struct videobuf_queue *q,
struct vm_area_struct *vma) struct vm_area_struct *vma)
{ {
...@@ -711,7 +697,6 @@ static struct videobuf_qtype_ops sg_ops = { ...@@ -711,7 +697,6 @@ static struct videobuf_qtype_ops sg_ops = {
.alloc = __videobuf_alloc, .alloc = __videobuf_alloc,
.iolock = __videobuf_iolock, .iolock = __videobuf_iolock,
.sync = __videobuf_sync, .sync = __videobuf_sync,
.mmap_free = __videobuf_mmap_free,
.mmap_mapper = __videobuf_mmap_mapper, .mmap_mapper = __videobuf_mmap_mapper,
.video_copy_to_user = __videobuf_copy_to_user, .video_copy_to_user = __videobuf_copy_to_user,
.copy_stream = __videobuf_copy_stream, .copy_stream = __videobuf_copy_stream,
......
...@@ -235,21 +235,6 @@ static int __videobuf_sync(struct videobuf_queue *q, ...@@ -235,21 +235,6 @@ static int __videobuf_sync(struct videobuf_queue *q,
return 0; return 0;
} }
static int __videobuf_mmap_free(struct videobuf_queue *q)
{
unsigned int i;
dprintk(1, "%s\n", __func__);
for (i = 0; i < VIDEO_MAX_FRAME; i++) {
if (q->bufs[i]) {
if (q->bufs[i]->map)
return -EBUSY;
}
}
return 0;
}
static int __videobuf_mmap_mapper(struct videobuf_queue *q, static int __videobuf_mmap_mapper(struct videobuf_queue *q,
struct vm_area_struct *vma) struct vm_area_struct *vma)
{ {
...@@ -385,7 +370,6 @@ static struct videobuf_qtype_ops qops = { ...@@ -385,7 +370,6 @@ static struct videobuf_qtype_ops qops = {
.alloc = __videobuf_alloc, .alloc = __videobuf_alloc,
.iolock = __videobuf_iolock, .iolock = __videobuf_iolock,
.sync = __videobuf_sync, .sync = __videobuf_sync,
.mmap_free = __videobuf_mmap_free,
.mmap_mapper = __videobuf_mmap_mapper, .mmap_mapper = __videobuf_mmap_mapper,
.video_copy_to_user = __videobuf_copy_to_user, .video_copy_to_user = __videobuf_copy_to_user,
.copy_stream = __videobuf_copy_stream, .copy_stream = __videobuf_copy_stream,
......
...@@ -144,7 +144,6 @@ struct videobuf_qtype_ops { ...@@ -144,7 +144,6 @@ struct videobuf_qtype_ops {
size_t pos, size_t pos,
int vbihack, int vbihack,
int nonblocking); int nonblocking);
int (*mmap_free) (struct videobuf_queue *q);
int (*mmap_mapper) (struct videobuf_queue *q, int (*mmap_mapper) (struct videobuf_queue *q,
struct vm_area_struct *vma); struct vm_area_struct *vma);
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册