mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
media: v4l2-core: push taking ioctl mutex down to ioctl handler
The ioctl serialization mutex (vdev->lock or q->lock for vb2 queues) was taken at the highest level in v4l2-dev.c. This prevents more fine-grained locking since at that level we cannot examine the ioctl arguments, we can only do that after video_usercopy is called. So push the locking down to __video_do_ioctl() and subdev_do_ioctl_lock(). This also allows us to make a few functions in v4l2-ioctl.c static and video_usercopy() is no longer exported. The locking scheme is not changed by this patch, just pushed down. Signed-off-by: Hans Verkuil <hansverk@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
eba09b5b3d
commit
73a110623e
5 changed files with 33 additions and 31 deletions
|
@ -658,18 +658,6 @@ void v4l_printk_ioctl(const char *prefix, unsigned int cmd);
|
|||
|
||||
struct video_device;
|
||||
|
||||
|
||||
/**
|
||||
* v4l2_ioctl_get_lock - get the mutex (if any) that it is need to lock for
|
||||
* a given command.
|
||||
*
|
||||
* @vdev: Pointer to struct &video_device.
|
||||
* @cmd: Ioctl name.
|
||||
*
|
||||
* .. note:: Internal use only. Should not be used outside V4L2 core.
|
||||
*/
|
||||
struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned int cmd);
|
||||
|
||||
/* names for fancy debug output */
|
||||
extern const char *v4l2_field_names[];
|
||||
extern const char *v4l2_type_names[];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue