[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5763A2A3.7000401@xs4all.nl>
Date: Fri, 17 Jun 2016 09:11:31 +0200
From: Hans Verkuil <hverkuil@...all.nl>
To: Javier Martinez Canillas <javier@....samsung.com>,
linux-kernel@...r.kernel.org
Cc: Mauro Carvalho Chehab <mchehab@....samsung.com>,
Kamil Debski <k.debski@...sung.com>,
Jeongtae Park <jtp.park@...sung.com>,
Kyungmin Park <kyungmin.park@...sung.com>,
linux-arm-kernel@...ts.infradead.org, linux-media@...r.kernel.org
Subject: Re: [PATCH 1/6] [media] s5p-mfc: set capablity bus_info as required
by VIDIOC_QUERYCAP
On 06/16/2016 11:40 PM, Javier Martinez Canillas wrote:
> The driver doesn't set the struct v4l2_capability bus_info field so the
> v4l2-compliance tool reports the following errors for VIDIOC_QUERYCAP:
>
> Required ioctls:
> VIDIOC_QUERYCAP returned 0 (Success)
> fail: v4l2-compliance.cpp(304): string empty
> fail: v4l2-compliance.cpp(528): check_ustring(vcap.bus_info, sizeof(vcap.bus_info))
> test VIDIOC_QUERYCAP: FAIL
>
> This patch fixes by setting the field in VIDIOC_QUERYCAP ioctl handler:
>
> Required ioctls:
> VIDIOC_QUERYCAP returned 0 (Success)
> test VIDIOC_QUERYCAP: OK
>
> Signed-off-by: Javier Martinez Canillas <javier@....samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@...co.com>
Thanks!
Hans
> ---
>
> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 3 ++-
> drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> index f2d6376ce618..4a40df22fd63 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> @@ -267,7 +267,8 @@ static int vidioc_querycap(struct file *file, void *priv,
>
> strncpy(cap->driver, dev->plat_dev->name, sizeof(cap->driver) - 1);
> strncpy(cap->card, dev->plat_dev->name, sizeof(cap->card) - 1);
> - cap->bus_info[0] = 0;
> + snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
> + dev_name(&dev->plat_dev->dev));
> /*
> * This is only a mem-to-mem video device. The capture and output
> * device capability flags are left only for backward compatibility
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> index 034b5c1d35a1..dd466ea6429e 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> @@ -945,7 +945,8 @@ static int vidioc_querycap(struct file *file, void *priv,
>
> strncpy(cap->driver, dev->plat_dev->name, sizeof(cap->driver) - 1);
> strncpy(cap->card, dev->plat_dev->name, sizeof(cap->card) - 1);
> - cap->bus_info[0] = 0;
> + snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
> + dev_name(&dev->plat_dev->dev));
> /*
> * This is only a mem-to-mem video device. The capture and output
> * device capability flags are left only for backward compatibility
>
Powered by blists - more mailing lists