All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Yunke Cao <yunkec@google.com>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Nicolas Dufresne <nicolas@ndufresne.ca>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Tomasz Figa <tfiga@chromium.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Ricardo Ribalda <ribalda@chromium.org>,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v7 2/7] media: uvcvideo: add uvc_ctrl_get_fixed for getting default value
Date: Wed, 24 Aug 2022 19:24:51 +0300	[thread overview]
Message-ID: <YwZQ0/de2LTMuoQw@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20220628075705.2278044-3-yunkec@google.com>

Hi Yunke,

Thank you for the patch.

On Tue, Jun 28, 2022 at 04:57:00PM +0900, Yunke Cao wrote:
> Introduce a new uvc_ctrl_get_fixed. It simply calls query_v4l2_ctrl()

"fixed" sounds a bit confusing to me. How about calling it
uvc_ctrl_get_boundary() or uvc_ctrl_get_limit() ? A better name could
possibly be found as the default value isn't a limit.
uvc_ctrl_get_info() comes to mind, but it wouldn't match the UVC
GET_INFO concept, which may be confusing.

> for now, but is easier to extend to support compound controls and
> V4L2_CTRL_WHICH_MIN/MAX_VAL in the following patches.
> 
> Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
> Signed-off-by: Yunke Cao <yunkec@google.com>
> ---
>  drivers/media/usb/uvc/uvc_ctrl.c | 13 +++++++++++++
>  drivers/media/usb/uvc/uvc_v4l2.c |  6 +-----
>  drivers/media/usb/uvc/uvcvideo.h |  2 ++
>  3 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c
> index 0e78233fc8a0..772d9d28a520 100644
> --- a/drivers/media/usb/uvc/uvc_ctrl.c
> +++ b/drivers/media/usb/uvc/uvc_ctrl.c
> @@ -1697,6 +1697,19 @@ int uvc_ctrl_get(struct uvc_video_chain *chain,
>  	return __uvc_ctrl_get(chain, ctrl, mapping, &xctrl->value);
>  }
>  
> +int uvc_ctrl_get_fixed(struct uvc_video_chain *chain,
> +		       struct v4l2_ext_control *xctrl)
> +{
> +	struct v4l2_queryctrl qc = { .id = xctrl->id };
> +	int ret = uvc_query_v4l2_ctrl(chain, &qc);
> +
> +	if (ret < 0)
> +		return ret;
> +
> +	xctrl->value = qc.default_value;
> +	return 0;
> +}
> +
>  int uvc_ctrl_set(struct uvc_fh *handle,
>  	struct v4l2_ext_control *xctrl)
>  {
> diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
> index 648dcd579e81..0366d05895a9 100644
> --- a/drivers/media/usb/uvc/uvc_v4l2.c
> +++ b/drivers/media/usb/uvc/uvc_v4l2.c
> @@ -1042,15 +1042,11 @@ static int uvc_ioctl_g_ext_ctrls(struct file *file, void *fh,
>  
>  	if (ctrls->which == V4L2_CTRL_WHICH_DEF_VAL) {
>  		for (i = 0; i < ctrls->count; ++ctrl, ++i) {
> -			struct v4l2_queryctrl qc = { .id = ctrl->id };
> -
> -			ret = uvc_query_v4l2_ctrl(chain, &qc);
> +			ret = uvc_ctrl_get_fixed(chain, ctrl);
>  			if (ret < 0) {
>  				ctrls->error_idx = i;
>  				return ret;
>  			}
> -
> -			ctrl->value = qc.default_value;
>  		}
>  
>  		return 0;
> diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
> index c5b4febd2d94..ba028ba7c34e 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -901,6 +901,8 @@ static inline int uvc_ctrl_rollback(struct uvc_fh *handle)
>  }
>  
>  int uvc_ctrl_get(struct uvc_video_chain *chain, struct v4l2_ext_control *xctrl);
> +int uvc_ctrl_get_fixed(struct uvc_video_chain *chain,
> +		       struct v4l2_ext_control *xctrl);
>  int uvc_ctrl_set(struct uvc_fh *handle, struct v4l2_ext_control *xctrl);
>  int uvc_ctrl_is_accessible(struct uvc_video_chain *chain, u32 v4l2_id,
>  			   bool read);

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2022-08-24 16:25 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-28  7:56 [PATCH v7 0/7] media: Implement UVC v1.5 ROI Yunke Cao
2022-06-28  7:56 ` [PATCH v7 1/7] media: v4l2_ctrl: Add V4L2_CTRL_TYPE_RECT Yunke Cao
2022-08-24  8:40   ` Laurent Pinchart
2022-08-24  8:50   ` Hans Verkuil
2022-08-24  8:51     ` Hans Verkuil
2022-08-25  6:15     ` Yunke Cao
2022-06-28  7:57 ` [PATCH v7 2/7] media: uvcvideo: add uvc_ctrl_get_fixed for getting default value Yunke Cao
2022-08-24 16:24   ` Laurent Pinchart [this message]
2022-06-28  7:57 ` [PATCH v7 3/7] media: uvcvideo: Add support for compound controls Yunke Cao
2022-06-30  6:42   ` Ricardo Ribalda
2022-08-24 19:56   ` Laurent Pinchart
2022-08-29  5:39     ` Yunke Cao
2022-06-28  7:57 ` [PATCH v7 4/7] media: uvcvideo: implement UVC v1.5 ROI Yunke Cao
2022-06-30  6:42   ` Ricardo Ribalda
2022-08-24 20:36   ` Laurent Pinchart
2022-08-29  5:48     ` Yunke Cao
2022-09-28  8:13       ` Ricardo Ribalda
2022-06-28  7:57 ` [PATCH v7 5/7] v4l2-ctrls: add support for V4L2_CTRL_WHICH_MIN/MAX_VAL Yunke Cao
2022-08-24 16:20   ` Laurent Pinchart
2022-09-20 10:01     ` Yunke Cao
2022-09-30  7:59     ` Hans Verkuil
2022-06-28  7:57 ` [PATCH v7 6/7] media: uvcvideo: support V4L2_CTRL_WHICH_MIN/MAX_VAL Yunke Cao
2022-06-30  6:41   ` Ricardo Ribalda
2022-08-24 20:03   ` Laurent Pinchart
2022-09-20  7:52     ` Yunke Cao
2022-06-28  7:57 ` [PATCH v7 7/7] media: uvcvideo: document UVC v1.5 ROI Yunke Cao
2022-06-30  6:41   ` Ricardo Ribalda
2022-08-24 20:17   ` Laurent Pinchart
2022-09-20  7:46     ` Yunke Cao
2022-07-14 23:25 ` [PATCH v7 0/7] media: Implement " Yunke Cao
2022-07-15  0:52   ` Laurent Pinchart
2022-09-27  4:32     ` Yunke Cao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YwZQ0/de2LTMuoQw@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=ribalda@chromium.org \
    --cc=senozhatsky@chromium.org \
    --cc=tfiga@chromium.org \
    --cc=yunkec@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.