[PATCH v4 0/7] media: uvcvideo: Invert granular PM logic + PM fix

From: Ricardo Ribalda
Date: Tue Jul 01 2025 - 02:45:35 EST


It makes more sense to have a list of the ioctls that need power than
the other way around. This patchset takes care of this.

It also fixes one error in the PM logic introduced in a recent patchset.

To support CI I have included patches that are in uvc/for-next but not
in media-committer:
media: uvcvideo: Remove stream->is_streaming field
media: uvcvideo: Split uvc_stop_streaming()
media: uvcvideo: Handle locks in uvc_queue_return_buffers
media: uvcvideo: Use vb2 ioctl and fop helpers
Do not review them again.

Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
---
Changes in v4:
- CTRL_MAP DO need the device powered. Thanks Laurent
- CodeStyle
- use EXPORT_SYMBOL_GPL
- Link to v3: https://lore.kernel.org/r/20250630-uvc-grannular-invert-v3-0-abd5cb5c45b7@xxxxxxxxxxxx

Changes in v3:
- Rebase
- Merge Invert PM patch with add support for compat ioctls
- Export different core function
- Inline the pm_ioctl patch
- Fix typo in comment
- Link to v2: https://lore.kernel.org/r/20250602-uvc-grannular-invert-v2-0-c871934ad880@xxxxxxxxxxxx

Changes in v2. Thanks HdG:
- Rebase fop
- CodeStyle
- Refactor SEND_INITIAL to avoid lis_del()
- Squash "invert PM logic" and "unless is needed"
- Link to v1: https://lore.kernel.org/r/20250528-uvc-grannular-invert-v1-0-d01581f9cc25@xxxxxxxxxxxx

---
Hans Verkuil (1):
media: uvcvideo: Use vb2 ioctl and fop helpers

Ricardo Ribalda (6):
media: uvcvideo: Handle locks in uvc_queue_return_buffers
media: uvcvideo: Split uvc_stop_streaming()
media: uvcvideo: Remove stream->is_streaming field
media: uvcvideo: Turn on the camera if V4L2_EVENT_SUB_FL_SEND_INITIAL
media: core: export v4l2_translate_cmd
media: uvcvideo: uvc_v4l2_unlocked_ioctl: Invert PM logic

drivers/media/usb/uvc/uvc_ctrl.c | 10 +-
drivers/media/usb/uvc/uvc_driver.c | 37 +---
drivers/media/usb/uvc/uvc_metadata.c | 8 +-
drivers/media/usb/uvc/uvc_queue.c | 199 +++++---------------
drivers/media/usb/uvc/uvc_v4l2.c | 345 +++++------------------------------
drivers/media/usb/uvc/uvcvideo.h | 37 +---
drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
include/media/v4l2-ioctl.h | 1 +
8 files changed, 112 insertions(+), 530 deletions(-)
---
base-commit: 35392e855abf7d02ad3b061cbc75c7c7c37f0577
change-id: 20250528-uvc-grannular-invert-19ad34c59391

Best regards,
--
Ricardo Ribalda <ribalda@xxxxxxxxxxxx>