On 04/07/2014 09:30 AM, Pawel Osciak wrote:
> The idea behind not using __func__ was that it was much more
> informative when debugging to see a "reqbufs" prefix instead of, for
> example "__verify_memory_type". But since some of the functions are
> shared across multiple ioctl impls now (e.g. __verify_memory_type is
> used by both reqbufs and createbufs), as much as I would prefer to
> keep this convention, it'd probably be too much to maintain.
>
> But if we want to do this, we should move "__func__" to dprintk()
> definition, instead of adding it to the call sites.
Good idea. I'll do that.
Regards,
Hans
>
> On Tue, Mar 11, 2014 at 6:20 AM, Hans Verkuil <[email protected]> wrote:
>> From: Hans Verkuil <[email protected]>
>>
>> Many dprintk's in vb2 use a hardcoded prefix with the function name. In
>> many cases that is now outdated. Replace prefixes by the function name using
>> __func__. At least now I know if I see a 'qbuf:' prefix whether that refers
>> to the mmap, userptr or dmabuf variant.
>>
>> Signed-off-by: Hans Verkuil <[email protected]>
>> ---
>> drivers/media/v4l2-core/videobuf2-core.c | 102
>> ++++++++++++++++---------------
>> 1 file changed, 54 insertions(+), 48 deletions(-)
>>
>> diff --git a/drivers/media/v4l2-core/videobuf2-core.c
>> b/drivers/media/v4l2-core/videobuf2-core.c
>> index 83e78e9..71be247 100644
>> --- a/drivers/media/v4l2-core/videobuf2-core.c
>> +++ b/drivers/media/v4l2-core/videobuf2-core.c
>> @@ -371,7 +371,8 @@ static int __vb2_queue_free(struct vb2_queue *q,
>> unsigned int buffers)
>> if (q->bufs[buffer] == NULL)
>> continue;
>> if (q->bufs[buffer]->state == VB2_BUF_STATE_PREPARING) {
>> - dprintk(1, "reqbufs: preparing buffers, cannot
>> free\n");
>> + dprintk(1, "%s: preparing buffers, cannot free\n",
>> + __func__);
>> return -EAGAIN;
>> }
>> }
>> @@ -656,12 +657,12 @@ int vb2_querybuf(struct vb2_queue *q, struct
>> v4l2_buffer *b)
>> int ret;
>>
>> if (b->type != q->type) {
>> - dprintk(1, "querybuf: wrong buffer type\n");
>> + dprintk(1, "%s: wrong buffer type\n", __func__);
>> return -EINVAL;
>> }
>>
>> if (b->index >= q->num_buffers) {
>> - dprintk(1, "querybuf: buffer index out of range\n");
>> + dprintk(1, "%s: buffer index out of range\n", __func__);
>> return -EINVAL;
>> }
>> vb = q->bufs[b->index];
>> @@ -721,12 +722,12 @@ static int __verify_memory_type(struct vb2_queue *q,
>> {
>> if (memory != V4L2_MEMORY_MMAP && memory != V4L2_MEMORY_USERPTR &&
>> memory != V4L2_MEMORY_DMABUF) {
>> - dprintk(1, "reqbufs: unsupported memory type\n");
>> + dprintk(1, "%s: unsupported memory type\n", __func__);
>> return -EINVAL;
>> }
>>
>> if (type != q->type) {
>> - dprintk(1, "reqbufs: requested type is incorrect\n");
>> + dprintk(1, "%s: requested type is incorrect\n", __func__);
>> return -EINVAL;
>> }
>>
>> @@ -735,17 +736,20 @@ static int __verify_memory_type(struct vb2_queue *q,
>> * are available.
>> */
>> if (memory == V4L2_MEMORY_MMAP && __verify_mmap_ops(q)) {
>> - dprintk(1, "reqbufs: MMAP for current setup unsupported\n");
>> + dprintk(1, "%s: MMAP for current setup unsupported\n",
>> + __func__);
>> return -EINVAL;
>> }
>>
>> if (memory == V4L2_MEMORY_USERPTR && __verify_userptr_ops(q)) {
>> - dprintk(1, "reqbufs: USERPTR for current setup
>> unsupported\n");
>> + dprintk(1, "%s: USERPTR for current setup unsupported\n",
>> + __func__);
>> return -EINVAL;
>> }
>>
>> if (memory == V4L2_MEMORY_DMABUF && __verify_dmabuf_ops(q)) {
>> - dprintk(1, "reqbufs: DMABUF for current setup
>> unsupported\n");
>> + dprintk(1, "%s: DMABUF for current setup unsupported\n",
>> + __func__);
>> return -EINVAL;
>> }
>>
>> @@ -755,7 +759,7 @@ static int __verify_memory_type(struct vb2_queue *q,
>> * do the memory and type validation.
>> */
>> if (q->fileio) {
>> - dprintk(1, "reqbufs: file io in progress\n");
>> + dprintk(1, "%s: file io in progress\n", __func__);
>> return -EBUSY;
>> }
>> return 0;
>> @@ -790,7 +794,7 @@ static int __reqbufs(struct vb2_queue *q, struct
>> v4l2_requestbuffers *req)
>> int ret;
>>
>> if (q->streaming) {
>> - dprintk(1, "reqbufs: streaming active\n");
>> + dprintk(1, "%s: streaming active\n", __func__);
>> return -EBUSY;
>> }
>>
>> @@ -800,7 +804,7 @@ static int __reqbufs(struct vb2_queue *q, struct
>> v4l2_requestbuffers *req)
>> * are not in use and can be freed.
>> */
>> if (q->memory == V4L2_MEMORY_MMAP && __buffers_in_use(q)) {
>> - dprintk(1, "reqbufs: memory in use, cannot free\n");
>> + dprintk(1, "%s: memory in use, cannot free\n",
>> __func__);
>> return -EBUSY;
>> }
>>
>> @@ -1272,15 +1276,14 @@ static int __qbuf_userptr(struct vb2_buffer *vb,
>> const struct v4l2_buffer *b)
>> && vb->v4l2_planes[plane].length == planes[plane].length)
>> continue;
>>
>> - dprintk(3, "qbuf: userspace address for plane %d changed, "
>> - "reacquiring memory\n", plane);
>> + dprintk(3, "%s: userspace address for plane %d changed,
>> reacquiring memory\n",
>> + __func__, plane);
>>
>> /* Check if the provided plane buffer is large enough */
>> if (planes[plane].length < q->plane_sizes[plane]) {
>> - dprintk(1, "qbuf: provided buffer size %u is less
>> than "
>> - "setup size %u for plane
>> %d\n",
>> - planes[plane].length,
>> - q->plane_sizes[plane],
>> plane);
>> + dprintk(1, "%s: provided buffer size %u is less than
>> setup size %u for plane %d\n",
>> + __func__, planes[plane].length,
>> + q->plane_sizes[plane], plane);
>> ret = -EINVAL;
>> goto err;
>> }
>> @@ -1302,8 +1305,8 @@ static int __qbuf_userptr(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> planes[plane].m.userptr,
>> planes[plane].length, write);
>> if (IS_ERR_OR_NULL(mem_priv)) {
>> - dprintk(1, "qbuf: failed acquiring userspace "
>> - "memory for plane %d\n",
>> plane);
>> + dprintk(1, "%s: failed acquiring userspace memory
>> for plane %d\n",
>> + __func__, plane);
>> fail_memop(vb, get_userptr);
>> ret = mem_priv ? PTR_ERR(mem_priv) : -EINVAL;
>> goto err;
>> @@ -1326,7 +1329,8 @@ static int __qbuf_userptr(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> */
>> ret = call_vb_qop(vb, buf_init, vb);
>> if (ret) {
>> - dprintk(1, "qbuf: buffer initialization failed\n");
>> + dprintk(1, "%s: buffer initialization failed\n",
>> + __func__);
>> fail_vb_qop(vb, buf_init);
>> goto err;
>> }
>> @@ -1334,7 +1338,7 @@ static int __qbuf_userptr(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>>
>> ret = call_vb_qop(vb, buf_prepare, vb);
>> if (ret) {
>> - dprintk(1, "qbuf: buffer preparation failed\n");
>> + dprintk(1, "%s: buffer preparation failed\n", __func__);
>> fail_vb_qop(vb, buf_prepare);
>> call_vb_qop(vb, buf_cleanup, vb);
>> goto err;
>> @@ -1388,8 +1392,8 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> struct dma_buf *dbuf = dma_buf_get(planes[plane].m.fd);
>>
>> if (IS_ERR_OR_NULL(dbuf)) {
>> - dprintk(1, "qbuf: invalid dmabuf fd for plane %d\n",
>> - plane);
>> + dprintk(1, "%s: invalid dmabuf fd for plane %d\n",
>> + __func__, plane);
>> ret = -EINVAL;
>> goto err;
>> }
>> @@ -1399,8 +1403,8 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> planes[plane].length = dbuf->size;
>>
>> if (planes[plane].length < q->plane_sizes[plane]) {
>> - dprintk(1, "qbuf: invalid dmabuf length for plane
>> %d\n",
>> - plane);
>> + dprintk(1, "%s: invalid dmabuf length for plane
>> %d\n",
>> + __func__, plane);
>> ret = -EINVAL;
>> goto err;
>> }
>> @@ -1412,7 +1416,8 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> continue;
>> }
>>
>> - dprintk(1, "qbuf: buffer for plane %d changed\n", plane);
>> + dprintk(1, "%s: buffer for plane %d changed\n",
>> + __func__, plane);
>>
>> if (!reacquired) {
>> reacquired = true;
>> @@ -1427,7 +1432,7 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> mem_priv = call_memop(vb, attach_dmabuf, q->alloc_ctx[plane],
>> dbuf, planes[plane].length, write);
>> if (IS_ERR(mem_priv)) {
>> - dprintk(1, "qbuf: failed to attach dmabuf\n");
>> + dprintk(1, "%s: failed to attach dmabuf\n",
>> __func__);
>> fail_memop(vb, attach_dmabuf);
>> ret = PTR_ERR(mem_priv);
>> dma_buf_put(dbuf);
>> @@ -1445,8 +1450,8 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> for (plane = 0; plane < vb->num_planes; ++plane) {
>> ret = call_memop(vb, map_dmabuf, vb->planes[plane].mem_priv);
>> if (ret) {
>> - dprintk(1, "qbuf: failed to map dmabuf for plane
>> %d\n",
>> - plane);
>> + dprintk(1, "%s: failed to map dmabuf for plane %d\n",
>> + __func__, plane);
>> fail_memop(vb, map_dmabuf);
>> goto err;
>> }
>> @@ -1467,7 +1472,8 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>> */
>> ret = call_vb_qop(vb, buf_init, vb);
>> if (ret) {
>> - dprintk(1, "qbuf: buffer initialization failed\n");
>> + dprintk(1, "%s: buffer initialization failed\n",
>> + __func__);
>> fail_vb_qop(vb, buf_init);
>> goto err;
>> }
>> @@ -1475,7 +1481,7 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const
>> struct v4l2_buffer *b)
>>
>> ret = call_vb_qop(vb, buf_prepare, vb);
>> if (ret) {
>> - dprintk(1, "qbuf: buffer preparation failed\n");
>> + dprintk(1, "%s: buffer preparation failed\n", __func__);
>> fail_vb_qop(vb, buf_prepare);
>> call_vb_qop(vb, buf_cleanup, vb);
>> goto err;
>> @@ -1671,7 +1677,7 @@ static int vb2_start_streaming(struct vb2_queue *q)
>> return 0;
>>
>> fail_qop(q, start_streaming);
>> - dprintk(1, "qbuf: driver refused to start streaming\n");
>> + dprintk(1, "%s: driver refused to start streaming\n", __func__);
>> if (WARN_ON(atomic_read(&q->owned_by_drv_count))) {
>> unsigned i;
>>
>> @@ -1709,7 +1715,7 @@ static int vb2_internal_qbuf(struct vb2_queue *q,
>> struct v4l2_buffer *b)
>> case VB2_BUF_STATE_PREPARED:
>> break;
>> case VB2_BUF_STATE_PREPARING:
>> - dprintk(1, "qbuf: buffer still being prepared\n");
>> + dprintk(1, "%s: buffer still being prepared\n", __func__);
>> return -EINVAL;
>> default:
>> dprintk(1, "%s(): invalid buffer state %d\n", __func__,
>> @@ -1945,7 +1951,7 @@ static int vb2_internal_dqbuf(struct vb2_queue *q,
>> struct v4l2_buffer *b, bool n
>> int ret;
>>
>> if (b->type != q->type) {
>> - dprintk(1, "dqbuf: invalid buffer type\n");
>> + dprintk(1, "%s: invalid buffer type\n", __func__);
>> return -EINVAL;
>> }
>> ret = __vb2_get_done_vb(q, &vb, b, nonblocking);
>> @@ -1954,13 +1960,13 @@ static int vb2_internal_dqbuf(struct vb2_queue *q,
>> struct v4l2_buffer *b, bool n
>>
>> switch (vb->state) {
>> case VB2_BUF_STATE_DONE:
>> - dprintk(3, "dqbuf: Returning done buffer\n");
>> + dprintk(3, "%s: Returning done buffer\n", __func__);
>> break;
>> case VB2_BUF_STATE_ERROR:
>> - dprintk(3, "dqbuf: Returning done buffer with errors\n");
>> + dprintk(3, "%s: Returning done buffer with errors\n",
>> __func__);
>> break;
>> default:
>> - dprintk(1, "dqbuf: Invalid buffer state\n");
>> + dprintk(1, "%s: Invalid buffer state\n", __func__);
>> return -EINVAL;
>> }
>>
>> @@ -2004,7 +2010,7 @@ static int vb2_internal_dqbuf(struct vb2_queue *q,
>> struct v4l2_buffer *b, bool n
>> int vb2_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool nonblocking)
>> {
>> if (q->fileio) {
>> - dprintk(1, "dqbuf: file io in progress\n");
>> + dprintk(1, "%s: file io in progress\n", __func__);
>> return -EBUSY;
>> }
>> return vb2_internal_dqbuf(q, b, nonblocking);
>> @@ -2076,7 +2082,7 @@ static int vb2_internal_streamon(struct vb2_queue *q,
>> enum v4l2_buf_type type)
>> int ret;
>>
>> if (type != q->type) {
>> - dprintk(1, "streamon: invalid stream type\n");
>> + dprintk(1, "%s: invalid stream type\n", __func__);
>> return -EINVAL;
>> }
>>
>> @@ -2086,17 +2092,17 @@ static int vb2_internal_streamon(struct vb2_queue
>> *q, enum v4l2_buf_type type)
>> }
>>
>> if (!q->num_buffers) {
>> - dprintk(1, "streamon: no buffers have been allocated\n");
>> + dprintk(1, "%s: no buffers have been allocated\n", __func__);
>> return -EINVAL;
>> }
>>
>> if (!q->num_buffers) {
>> - dprintk(1, "streamon: no buffers have been allocated\n");
>> + dprintk(1, "%s: no buffers have been allocated\n", __func__);
>> return -EINVAL;
>> }
>> if (q->num_buffers < q->min_buffers_needed) {
>> - dprintk(1, "streamon: need at least %u allocated buffers\n",
>> - q->min_buffers_needed);
>> + dprintk(1, "%s: need at least %u allocated buffers\n",
>> + __func__, q->min_buffers_needed);
>> return -EINVAL;
>> }
>>
>> @@ -2134,7 +2140,7 @@ static int vb2_internal_streamon(struct vb2_queue *q,
>> enum v4l2_buf_type type)
>> int vb2_streamon(struct vb2_queue *q, enum v4l2_buf_type type)
>> {
>> if (q->fileio) {
>> - dprintk(1, "streamon: file io in progress\n");
>> + dprintk(1, "%s: file io in progress\n", __func__);
>> return -EBUSY;
>> }
>> return vb2_internal_streamon(q, type);
>> @@ -2144,7 +2150,7 @@ EXPORT_SYMBOL_GPL(vb2_streamon);
>> static int vb2_internal_streamoff(struct vb2_queue *q, enum v4l2_buf_type
>> type)
>> {
>> if (type != q->type) {
>> - dprintk(1, "streamoff: invalid stream type\n");
>> + dprintk(1, "%s: invalid stream type\n", __func__);
>> return -EINVAL;
>> }
>>
>> @@ -2181,7 +2187,7 @@ static int vb2_internal_streamoff(struct vb2_queue *q,
>> enum v4l2_buf_type type)
>> int vb2_streamoff(struct vb2_queue *q, enum v4l2_buf_type type)
>> {
>> if (q->fileio) {
>> - dprintk(1, "streamoff: file io in progress\n");
>> + dprintk(1, "%s: file io in progress\n", __func__);
>> return -EBUSY;
>> }
>> return vb2_internal_streamoff(q, type);
>> @@ -2249,7 +2255,7 @@ int vb2_expbuf(struct vb2_queue *q, struct
>> v4l2_exportbuffer *eb)
>> }
>>
>> if (eb->type != q->type) {
>> - dprintk(1, "qbuf: invalid buffer type\n");
>> + dprintk(1, "%s: invalid buffer type\n", __func__);
>> return -EINVAL;
>> }
>>
>> @@ -2863,7 +2869,7 @@ static size_t __vb2_perform_fileio(struct vb2_queue
>> *q, char __user *data, size_
>> fileio->b.index = index;
>> fileio->b.bytesused = buf->pos;
>> ret = vb2_internal_qbuf(q, &fileio->b);
>> - dprintk(5, "file io: vb2_dbuf result: %d\n", ret);
>> + dprintk(5, "file io: vb2_internal_qbuf result: %d\n", ret);
>> if (ret)
>> return ret;
>>
>> --
>> 1.9.0
>>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html