mbox

[RFC,0/3] meida: uvcvideo: reimplement privacy gpio as a separate subdevice

Message ID 20230111-uvc_privacy_subdev-v1-0-f859ac9a01e3@chromium.org (mailing list archive)
Headers

Message

Yunke Cao Jan. 11, 2023, 8:52 a.m. UTC
  privacy_gpio in uvc were added as V4L2_CID_PRIVACY in uvc video node in
https://lore.kernel.org/all/20201223133528.55014-1-ribalda@chromium.org/

Userspace applications often require to constantly poll privacy control.
Currently, polling privacy control requires keeping the video node open,
which prevents the camera from autosuspending.

This patchset adds a separate v4l2 subdevice. Userspace access the gpio
via V4L2_CID_PRIVACY in the new subdevice. Applications can poll the
privacy control status without opening the video node and activate the
camera.

The non-gpio V4L2_CID_PRIVACY in uvc is not affected.

Suggested-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Yunke Cao <yunkec@chromium.org>
---
Yunke Cao (3):
      media: v4l2-ctrls: Expose v4l2_ctrl_fill_event()
      media: uvcvideo: remove entity privacy control in the uvc video node
      media: uvcvideo: reimplement privacy GPIO as a separate subdevice

 drivers/media/usb/uvc/uvc_ctrl.c          | 17 -------
 drivers/media/usb/uvc/uvc_driver.c        | 44 ++----------------
 drivers/media/usb/uvc/uvc_entity.c        | 76 +++++++++++++++++++++++++++++++
 drivers/media/usb/uvc/uvcvideo.h          | 19 +++++---
 drivers/media/v4l2-core/v4l2-ctrls-core.c |  9 ++--
 include/media/v4l2-ctrls.h                | 12 +++++
 6 files changed, 111 insertions(+), 66 deletions(-)
---
base-commit: 7dd4b804e08041ff56c88bdd8da742d14b17ed25
change-id: 20230111-uvc_privacy_subdev-1e7a167e86eb

Best regards,