On Thu Mar 27 21:05:30 2025 +0000, Ricardo Ribalda wrote: > Now that every ioctl takes care of their power management we can remove > the "global" power management. > > Despite its size, this is a relatively big change. We hope that there > are no size effects of it. If there are some specific devices that > miss-behave, we can add a small quirk for them. > > This patch introduces a behavioral change for the uvc "trigger" button. > Before the "trigger" button would work as long as userspace has opened > /dev/videoX. Now it only works when the camera is actually streaming. We > consider that this the most common (if not the only) usecase and > therefore we do not think of this as a regression. > > Reviewed-by: Hans de Goede <hdego...@redhat.com> > Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com> > Signed-off-by: Ricardo Ribalda <riba...@chromium.org> > Message-ID: <20250327-uvc-granpower-ng-v6-4-35a2357ff...@chromium.org> > Signed-off-by: Hans de Goede <hdego...@redhat.com> > Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>
Patch committed. Thanks, Hans Verkuil drivers/media/usb/uvc/uvc_v4l2.c | 8 -------- 1 file changed, 8 deletions(-) --- diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c index 8bccf7e17528..0f1ed0387b26 100644 --- a/drivers/media/usb/uvc/uvc_v4l2.c +++ b/drivers/media/usb/uvc/uvc_v4l2.c @@ -658,7 +658,6 @@ static int uvc_v4l2_open(struct file *file) { struct uvc_streaming *stream; struct uvc_fh *handle; - int ret = 0; stream = video_drvdata(file); uvc_dbg(stream->dev, CALLS, "%s\n", __func__); @@ -668,12 +667,6 @@ static int uvc_v4l2_open(struct file *file) if (!handle) return -ENOMEM; - ret = uvc_pm_get(stream->dev); - if (ret) { - kfree(handle); - return ret; - } - v4l2_fh_init(&handle->vfh, &stream->vdev); v4l2_fh_add(&handle->vfh); handle->chain = stream->chain; @@ -707,7 +700,6 @@ static int uvc_v4l2_release(struct file *file) kfree(handle); file->private_data = NULL; - uvc_pm_put(stream->dev); return 0; }