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>