Re: [PATCH v9 17/22] media: docs: Document the behaviour of uvcdriver

From: Hans Verkuil
Date: Sat Mar 27 2021 - 07:19:32 EST


On 26/03/2021 10:58, Ricardo Ribalda wrote:
> The uvc driver relies on the camera firmware to keep the control states
> and therefore is not capable of changing an inactive control.
>
> Allow returning -EACESS in those cases.

-EACCES

>
> Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> ---
> Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst | 5 +++++
> Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst | 5 +++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst b/Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst
> index 4f1bed53fad5..8c0a203385c2 100644
> --- a/Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst
> +++ b/Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst
> @@ -95,3 +95,8 @@ EBUSY
>
> EACCES
> Attempt to set a read-only control or to get a write-only control.
> +
> + Or if there is an attempt to set an inactive control and the driver is
> + not capable of keeping the new value until the control is active again.

keeping: 'caching' or 'storing' are better words, I think.

> + This is the case for drivers that do not use the standard control
> + framework and rely purely on the hardware to keep the controls' state.

I would drop that last sentence. It is not relevant information to the users of
the API.

> diff --git a/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst b/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
> index b9c62affbb5a..bb7de7a25241 100644
> --- a/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
> +++ b/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
> @@ -438,3 +438,8 @@ EACCES
>
> Or the ``which`` field was set to ``V4L2_CTRL_WHICH_REQUEST_VAL`` but the
> device does not support requests.
> +
> + Or if there is an attempt to set an inactive control and the driver is
> + not capable of keeping the new value until the control is active again.
> + This is the case for drivers that do not use the standard control
> + framework and rely purely on the hardware to keep the controls' state.

Same comments as above.

>

Regards,

Hans