aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2018-09-13 10:51:51 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-09-24 09:51:37 -0400
commit515c5a7333be87a7d01ab267d94626a454a7e794 (patch)
treee968c18f6e43637ad96bb780f59b344d6bbf24a9
parent7390ba4397c1ed069de3b7f88c3f3821d648a582 (diff)
media: videobuf2-core: Rework and rename helper for request buffer count
The helper indicating whether buffers are associated with the request is reworked and renamed to return the number of associated buffer objects. This is useful for drivers that need to check how many buffers are in the request to validate it. Existing users of the helper don't need particular adaptation since the meaning of zero/non-zero remains consistent. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-rw-r--r--drivers/media/common/videobuf2/videobuf2-core.c18
-rw-r--r--drivers/media/common/videobuf2/videobuf2-v4l2.c2
-rw-r--r--include/media/videobuf2-core.h4
3 files changed, 11 insertions, 13 deletions
diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c
index cb86b02afd4a..194b9188ad3e 100644
--- a/drivers/media/common/videobuf2/videobuf2-core.c
+++ b/drivers/media/common/videobuf2/videobuf2-core.c
@@ -1368,23 +1368,21 @@ bool vb2_request_object_is_buffer(struct media_request_object *obj)
1368} 1368}
1369EXPORT_SYMBOL_GPL(vb2_request_object_is_buffer); 1369EXPORT_SYMBOL_GPL(vb2_request_object_is_buffer);
1370 1370
1371bool vb2_request_has_buffers(struct media_request *req) 1371unsigned int vb2_request_buffer_cnt(struct media_request *req)
1372{ 1372{
1373 struct media_request_object *obj; 1373 struct media_request_object *obj;
1374 unsigned long flags; 1374 unsigned long flags;
1375 bool has_buffers = false; 1375 unsigned int buffer_cnt = 0;
1376 1376
1377 spin_lock_irqsave(&req->lock, flags); 1377 spin_lock_irqsave(&req->lock, flags);
1378 list_for_each_entry(obj, &req->objects, list) { 1378 list_for_each_entry(obj, &req->objects, list)
1379 if (vb2_request_object_is_buffer(obj)) { 1379 if (vb2_request_object_is_buffer(obj))
1380 has_buffers = true; 1380 buffer_cnt++;
1381 break;
1382 }
1383 }
1384 spin_unlock_irqrestore(&req->lock, flags); 1381 spin_unlock_irqrestore(&req->lock, flags);
1385 return has_buffers; 1382
1383 return buffer_cnt;
1386} 1384}
1387EXPORT_SYMBOL_GPL(vb2_request_has_buffers); 1385EXPORT_SYMBOL_GPL(vb2_request_buffer_cnt);
1388 1386
1389int vb2_core_prepare_buf(struct vb2_queue *q, unsigned int index, void *pb) 1387int vb2_core_prepare_buf(struct vb2_queue *q, unsigned int index, void *pb)
1390{ 1388{
diff --git a/drivers/media/common/videobuf2/videobuf2-v4l2.c b/drivers/media/common/videobuf2/videobuf2-v4l2.c
index 6831a2eb1859..a17033ab2c22 100644
--- a/drivers/media/common/videobuf2/videobuf2-v4l2.c
+++ b/drivers/media/common/videobuf2/videobuf2-v4l2.c
@@ -1139,7 +1139,7 @@ int vb2_request_validate(struct media_request *req)
1139 struct media_request_object *obj; 1139 struct media_request_object *obj;
1140 int ret = 0; 1140 int ret = 0;
1141 1141
1142 if (!vb2_request_has_buffers(req)) 1142 if (!vb2_request_buffer_cnt(req))
1143 return -ENOENT; 1143 return -ENOENT;
1144 1144
1145 list_for_each_entry(obj, &req->objects, list) { 1145 list_for_each_entry(obj, &req->objects, list) {
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 6c76b9802589..e86981d615ae 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -1191,10 +1191,10 @@ int vb2_verify_memory_type(struct vb2_queue *q,
1191bool vb2_request_object_is_buffer(struct media_request_object *obj); 1191bool vb2_request_object_is_buffer(struct media_request_object *obj);
1192 1192
1193/** 1193/**
1194 * vb2_request_has_buffers() - return true if the request contains buffers 1194 * vb2_request_buffer_cnt() - return the number of buffers in the request
1195 * 1195 *
1196 * @req: the request. 1196 * @req: the request.
1197 */ 1197 */
1198bool vb2_request_has_buffers(struct media_request *req); 1198unsigned int vb2_request_buffer_cnt(struct media_request *req);
1199 1199
1200#endif /* _MEDIA_VIDEOBUF2_CORE_H */ 1200#endif /* _MEDIA_VIDEOBUF2_CORE_H */