Message ID | 20201022133753.310506-5-ribalda@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Show privacy_gpio as a v4l2_ctrl | expand |
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@chromium.org> > --- > 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, \
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} #define UVC_GUID_FORMAT_MJPEG \ { 'M', 'J', 'P', 'G', 0x00, 0x00, 0x10, 0x00, \
Add a new control and mapping for Privacy controls connected to UVC_GUID_EXT_GPIO_CONTROLLERs. Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- drivers/media/usb/uvc/uvc_ctrl.c | 20 ++++++++++++++++++++ drivers/media/usb/uvc/uvcvideo.h | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-)