Hi Ricardo, On 26-Nov-24 5:18 PM, Ricardo Ribalda wrote: > Right now we power-up the device when a user open() the device and we > power it off when the last user close() the first video node. > > This behaviour affects the power consumption of the device is multiple > use cases, such as: > - Polling the privacy gpio > - udev probing the device > > This patchset introduces a more granular power saving behaviour where > the camera is only awaken when needed. It is compatible with > asynchronous controls. > > While developing this patchset, two bugs were found. The patchset has > been developed so these fixes can be taken independently. Thank you for your patch series. For now lets focus on fixing the async-controls ctrl->handle setting / dangling ptr issue and then we can look into the rest of this later (after we have also landed the privacy GPIO and UVC 1.5 ROi series). Regards, Hans > --- > Ricardo Ribalda (9): > media: uvcvideo: Do not set an async control owned by other fh > media: uvcvideo: Remove dangling pointers > media: uvcvideo: Keep streaming state in the file handle > media: uvcvideo: Move usb_autopm_(get|put)_interface to status_get > media: uvcvideo: Add a uvc_status guard > media: uvcvideo: Increase/decrease the PM counter per IOCTL > media: uvcvideo: Make power management granular > media: uvcvideo: Do not turn on the camera for some ioctls > media: uvcvideo: Remove duplicated cap/out code > > drivers/media/usb/uvc/uvc_ctrl.c | 52 +++++++++- > drivers/media/usb/uvc/uvc_status.c | 38 +++++++- > drivers/media/usb/uvc/uvc_v4l2.c | 190 +++++++++++++++---------------------- > drivers/media/usb/uvc/uvcvideo.h | 6 ++ > 4 files changed, 166 insertions(+), 120 deletions(-) > --- > base-commit: 72ad4ff638047bbbdf3232178fea4bec1f429319 > change-id: 20241126-uvc-granpower-ng-069185a6d474 > > Best regards,