mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
media: uvcvideo: Do not turn on the camera for some ioctls
There are some ioctls that do not need to turn on the camera. Do not call uvc_pm_get in those cases. Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Message-ID: <20250327-uvc-granpower-ng-v6-5-35a2357ff348@chromium.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
parent
a32d9c41bd
commit
d1b618e795
1 changed files with 20 additions and 0 deletions
|
@ -1440,6 +1440,26 @@ static long uvc_v4l2_unlocked_ioctl(struct file *file,
|
||||||
struct uvc_fh *handle = file->private_data;
|
struct uvc_fh *handle = file->private_data;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
/* The following IOCTLs do not need to turn on the camera. */
|
||||||
|
switch (cmd) {
|
||||||
|
case VIDIOC_CREATE_BUFS:
|
||||||
|
case VIDIOC_DQBUF:
|
||||||
|
case VIDIOC_ENUM_FMT:
|
||||||
|
case VIDIOC_ENUM_FRAMEINTERVALS:
|
||||||
|
case VIDIOC_ENUM_FRAMESIZES:
|
||||||
|
case VIDIOC_ENUMINPUT:
|
||||||
|
case VIDIOC_EXPBUF:
|
||||||
|
case VIDIOC_G_FMT:
|
||||||
|
case VIDIOC_G_PARM:
|
||||||
|
case VIDIOC_G_SELECTION:
|
||||||
|
case VIDIOC_QBUF:
|
||||||
|
case VIDIOC_QUERYCAP:
|
||||||
|
case VIDIOC_REQBUFS:
|
||||||
|
case VIDIOC_SUBSCRIBE_EVENT:
|
||||||
|
case VIDIOC_UNSUBSCRIBE_EVENT:
|
||||||
|
return video_ioctl2(file, cmd, arg);
|
||||||
|
}
|
||||||
|
|
||||||
ret = uvc_pm_get(handle->stream->dev);
|
ret = uvc_pm_get(handle->stream->dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Add table
Reference in a new issue