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

From: Yunke Cao
Date: Wed Jan 11 2023 - 03:53:02 EST


privacy_gpio in uvc were added as V4L2_CID_PRIVACY in uvc video node in
https://lore.kernel.org/all/20201223133528.55014-1-ribalda@xxxxxxxxxxxx/

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@xxxxxxxxxxxx>
Signed-off-by: Yunke Cao <yunkec@xxxxxxxxxxxx>
---
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,
--
Yunke Cao <yunkec@xxxxxxxxxxxx>