mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 22:44:27 +08:00
[media] v4l2: get/set prio using video_dev prio structure
The v4l2_device structure embed a v4l2_prio_state structure used by default for priority handling, but drivers can override that default by setting the video_dev prio pointer to a different v4l2_prio_state instance. However, the VIDIO_G_PRIORITY and VIDIOC_S_PRIORITY implementations use the prio state embedded in v4l2_device unconditionally, breaking drivers that need to override the default. Fix them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
2228d80dd0
commit
59b702ea9f
@ -1040,7 +1040,7 @@ static int v4l_g_priority(const struct v4l2_ioctl_ops *ops,
|
||||
if (ops->vidioc_g_priority)
|
||||
return ops->vidioc_g_priority(file, fh, arg);
|
||||
vfd = video_devdata(file);
|
||||
*p = v4l2_prio_max(&vfd->v4l2_dev->prio);
|
||||
*p = v4l2_prio_max(vfd->prio);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1055,7 +1055,7 @@ static int v4l_s_priority(const struct v4l2_ioctl_ops *ops,
|
||||
return ops->vidioc_s_priority(file, fh, *p);
|
||||
vfd = video_devdata(file);
|
||||
vfh = file->private_data;
|
||||
return v4l2_prio_change(&vfd->v4l2_dev->prio, &vfh->prio, *p);
|
||||
return v4l2_prio_change(vfd->prio, &vfh->prio, *p);
|
||||
}
|
||||
|
||||
static int v4l_enuminput(const struct v4l2_ioctl_ops *ops,
|
||||
|
Loading…
Reference in New Issue
Block a user