From: Hans Verkuil <hans.verkuil@xxxxxxxxx> Add a new helper function that returns true if a media_request contains buffers. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> --- drivers/media/common/videobuf2/videobuf2-core.c | 12 ++++++++++++ include/media/videobuf2-core.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c index 4f6c0b2d7d1a..13c9d9e243dd 100644 --- a/drivers/media/common/videobuf2/videobuf2-core.c +++ b/drivers/media/common/videobuf2/videobuf2-core.c @@ -1339,6 +1339,18 @@ static const struct media_request_object_ops vb2_core_req_ops = { .release = vb2_req_release, }; +bool vb2_core_request_has_buffers(struct media_request *req) +{ + struct media_request_object *obj; + + list_for_each_entry(obj, &req->objects, list) { + if (obj->ops == &vb2_core_req_ops) + return true; + } + return false; +} +EXPORT_SYMBOL_GPL(vb2_core_request_has_buffers); + int vb2_core_prepare_buf(struct vb2_queue *q, unsigned int index, void *pb, struct media_request *req) { diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index 72663c2a3ba3..e23dc028aee7 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h @@ -1158,4 +1158,6 @@ bool vb2_buffer_in_use(struct vb2_queue *q, struct vb2_buffer *vb); */ int vb2_verify_memory_type(struct vb2_queue *q, enum vb2_memory memory, unsigned int type); + +bool vb2_core_request_has_buffers(struct media_request *req); #endif /* _MEDIA_VIDEOBUF2_CORE_H */ -- 2.16.3