mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
media: v4l2-mem2mem: Document that v4l2_m2m_get_vq() never returns NULL
The v4l2_m2m_get_vq() never returns a NULL pointer, as the internal get_queue_ctx() helper always returns a non-NULL pointer. Many drivers check the return value against NULL, due to a combination of old code and cargo-cult programming. Even v4l2-mem2mem.c contains unneeded NULL checks. Clarify the API by documenting explicitly that a NULL check is not needed, and simplify the code by removing the unneeded NULL checks from v4l2-mem2mem.c. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
082b86919b
commit
3662b54c16
2 changed files with 4 additions and 11 deletions
|
|
@ -123,13 +123,7 @@ static struct v4l2_m2m_queue_ctx *get_queue_ctx(struct v4l2_m2m_ctx *m2m_ctx,
|
|||
struct vb2_queue *v4l2_m2m_get_vq(struct v4l2_m2m_ctx *m2m_ctx,
|
||||
enum v4l2_buf_type type)
|
||||
{
|
||||
struct v4l2_m2m_queue_ctx *q_ctx;
|
||||
|
||||
q_ctx = get_queue_ctx(m2m_ctx, type);
|
||||
if (!q_ctx)
|
||||
return NULL;
|
||||
|
||||
return &q_ctx->q;
|
||||
return &get_queue_ctx(m2m_ctx, type)->q;
|
||||
}
|
||||
EXPORT_SYMBOL(v4l2_m2m_get_vq);
|
||||
|
||||
|
|
@ -1285,8 +1279,6 @@ void v4l2_m2m_buf_queue(struct v4l2_m2m_ctx *m2m_ctx,
|
|||
unsigned long flags;
|
||||
|
||||
q_ctx = get_queue_ctx(m2m_ctx, vbuf->vb2_buf.vb2_queue->type);
|
||||
if (!q_ctx)
|
||||
return;
|
||||
|
||||
spin_lock_irqsave(&q_ctx->rdy_spinlock, flags);
|
||||
list_add_tail(&b->list, &q_ctx->rdy_queue);
|
||||
|
|
@ -1388,8 +1380,6 @@ int v4l2_m2m_ioctl_remove_bufs(struct file *file, void *priv,
|
|||
struct v4l2_fh *fh = file_to_v4l2_fh(file);
|
||||
struct vb2_queue *q = v4l2_m2m_get_vq(fh->m2m_ctx, remove->type);
|
||||
|
||||
if (!q)
|
||||
return -EINVAL;
|
||||
if (q->type != remove->type)
|
||||
return -EINVAL;
|
||||
|
||||
|
|
|
|||
|
|
@ -153,6 +153,9 @@ void *v4l2_m2m_get_curr_priv(struct v4l2_m2m_dev *m2m_dev);
|
|||
*
|
||||
* @m2m_ctx: m2m context assigned to the instance given by struct &v4l2_m2m_ctx
|
||||
* @type: type of the V4L2 buffer, as defined by enum &v4l2_buf_type
|
||||
*
|
||||
* This function returns the capture queue when @type is a capture type, and the
|
||||
* output queue otherwise. It never returns a NULL pointer.
|
||||
*/
|
||||
struct vb2_queue *v4l2_m2m_get_vq(struct v4l2_m2m_ctx *m2m_ctx,
|
||||
enum v4l2_buf_type type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue