Re: [PATCH 4/6] media: uvcvideo: Add Privacy control based on EXT_GPIO

From: Laurent Pinchart
Date: Wed Nov 04 2020 - 06:38:21 EST


Hi Ricardo,

Thank you for the patch.

On Thu, Oct 22, 2020 at 03:37:51PM +0200, Ricardo Ribalda wrote:
> Add a new control and mapping for Privacy controls connected to
> UVC_GUID_EXT_GPIO_CONTROLLERs.
>
> Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> ---
> drivers/media/usb/uvc/uvc_ctrl.c | 20 ++++++++++++++++++++
> drivers/media/usb/uvc/uvcvideo.h | 2 +-
> 2 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c
> index 913739915863..786498e66646 100644
> --- a/drivers/media/usb/uvc/uvc_ctrl.c
> +++ b/drivers/media/usb/uvc/uvc_ctrl.c
> @@ -347,6 +347,16 @@ static const struct uvc_control_info uvc_ctrls[] = {
> | UVC_CTRL_FLAG_RESTORE
> | UVC_CTRL_FLAG_AUTO_UPDATE,
> },
> + {
> + .entity = UVC_GUID_EXT_GPIO_CONTROLLER,
> + .selector = UVC_CT_PRIVACY_CONTROL,
> + .index = 0,
> + .size = 1,
> + .flags = UVC_CTRL_FLAG_GET_CUR
> + | UVC_CTRL_FLAG_AUTO_UPDATE
> + | UVC_CTRL_FLAG_ENTITY_GET_INFO
> + | UVC_CTRL_FLAG_ENTITY_GET_CUR,
> + },
> };
>
> static const struct uvc_menu_info power_line_frequency_controls[] = {
> @@ -735,6 +745,16 @@ static const struct uvc_control_mapping uvc_ctrl_mappings[] = {
> .v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
> .data_type = UVC_CTRL_DATA_TYPE_BOOLEAN,
> },
> + {
> + .id = V4L2_CID_PRIVACY,
> + .name = "Privacy",
> + .entity = UVC_GUID_EXT_GPIO_CONTROLLER,
> + .selector = UVC_CT_PRIVACY_CONTROL,
> + .size = 1,
> + .offset = 0,
> + .v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
> + .data_type = UVC_CTRL_DATA_TYPE_BOOLEAN,
> + },
> };
>
> /* ------------------------------------------------------------------------
> diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
> index 8e5a9fc35820..a493bc383d3e 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -58,7 +58,7 @@
> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02}
> #define UVC_GUID_EXT_GPIO_CONTROLLER \
> {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, \
> - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01}
> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01}

This belongs to the previous patch.

>
> #define UVC_GUID_FORMAT_MJPEG \
> { 'M', 'J', 'P', 'G', 0x00, 0x00, 0x10, 0x00, \

--
Regards,

Laurent Pinchart