[media] media: vb2: Clarify queue_setup() and buf_prepare() usage documentation
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fri, 2 Aug 2013 00:44:38 +0000 (21:44 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sun, 18 Aug 2013 10:20:59 +0000 (07:20 -0300)
Explain how the two operations must handle formats and validate buffer
sizes when used with VIDIOC_CREATE_BUFS.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
include/media/videobuf2-core.h

index d88a098d1affccf3da0c7fe79d5519a4e5475193..6781258d0b677f4a7092b4d29d0c1c7094e8a8a0 100644 (file)
@@ -219,8 +219,9 @@ struct vb2_buffer {
  *                     configured format and *num_buffers is the total number
  *                     of buffers, that are being allocated. When called from
  *                     VIDIOC_CREATE_BUFS, fmt != NULL and it describes the
- *                     target frame format. In this case *num_buffers are being
- *                     allocated additionally to q->num_buffers.
+ *                     target frame format (if the format isn't valid the
+ *                     callback must return -EINVAL). In this case *num_buffers
+ *                     are being allocated additionally to q->num_buffers.
  * @wait_prepare:      release any locks taken while calling vb2 functions;
  *                     it is called before an ioctl needs to wait for a new
  *                     buffer to arrive; required to avoid a deadlock in
@@ -236,8 +237,10 @@ struct vb2_buffer {
  * @buf_prepare:       called every time the buffer is queued from userspace
  *                     and from the VIDIOC_PREPARE_BUF ioctl; drivers may
  *                     perform any initialization required before each hardware
- *                     operation in this callback; if an error is returned, the
- *                     buffer will not be queued in driver; optional
+ *                     operation in this callback; drivers that support
+ *                     VIDIOC_CREATE_BUFS must also validate the buffer size;
+ *                     if an error is returned, the buffer will not be queued
+ *                     in driver; optional
  * @buf_finish:                called before every dequeue of the buffer back to
  *                     userspace; drivers may perform any operations required
  *                     before userspace accesses the buffer; optional