[PATCH v2 0/7] Show privacy_gpio as a v4l2_ctrl

From: Ricardo Ribalda
Date: Wed Nov 04 2020 - 13:07:51 EST


Some devices can implement a physical switch to disable the input of the
camera on demand. Think of it like an elegant privacy sticker.

The system can read the status of the privacy switch via a GPIO.

The ACPI table maps this GPIO to the USB device via _CRS and _DSD
descriptors, so the kernel can find it.

The userspace applications need to know if the privacy pin is enabled
or not.

The obvious way to show it to userspace is via the V4L2_CID_PRIVACY control.

This patchset implement this functionality.

v2: Thanks to all the comments from Laurent!

- move guid to unit
- support entities with no pads
- CodeStyle
- Irq handling
- pr_cont
- new ids

Ricardo Ribalda (7):
media: uvcvideo: Use pr_cont() macro
media: uvcvideo: Move guid to entity
media: uvcvideo: Allow external entities
media: uvcvideo: Allow entities with no pads
media: uvcvideo: Entity defined get_info and get_cur
media: uvcvideo: Implement UVC_EXT_GPIO_UNIT
media: uvcvideo: Add Privacy control based on EXT_GPIO

drivers/media/usb/uvc/uvc_ctrl.c | 73 ++++++++-----
drivers/media/usb/uvc/uvc_driver.c | 166 +++++++++++++++++++++++++----
drivers/media/usb/uvc/uvcvideo.h | 19 +++-
3 files changed, 207 insertions(+), 51 deletions(-)

--
2.29.1.341.ge80a0c044ae-goog