media: vb2: remove vb2_ops_wait_prepare/finish helpers

Since vb2 now relies on the presence of the vb2_queue lock
field and there are no more drivers that use these helpers, it is safe
to drop them.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
master
Hans Verkuil 2025-06-05 08:57:38 +02:00 committed by Mauro Carvalho Chehab
parent cbb5cd440d
commit d0730006da
3 changed files with 4 additions and 36 deletions

View File

@ -157,10 +157,10 @@ changing the e.g. exposure of the webcam.
Of course, you can always do all the locking yourself by leaving both lock Of course, you can always do all the locking yourself by leaving both lock
pointers at ``NULL``. pointers at ``NULL``.
In the case of :ref:`videobuf2 <vb2_framework>` you will need to implement the In the case of :ref:`videobuf2 <vb2_framework>` you must set the ``queue->lock``
``wait_prepare()`` and ``wait_finish()`` callbacks to unlock/lock if applicable. pointer to the lock you use to serialize the queuing ioctls. This ensures that
If you use the ``queue->lock`` pointer, then you can use the helper functions that lock is released while waiting in ``VIDIOC_DQBUF`` for a buffer to arrive,
:c:func:`vb2_ops_wait_prepare` and :c:func:`vb2_ops_wait_finish`. and it is retaken afterwards.
The implementation of a hotplug disconnect should also take the lock from The implementation of a hotplug disconnect should also take the lock from
:c:type:`video_device` before calling v4l2_device_disconnect. If you are also :c:type:`video_device` before calling v4l2_device_disconnect. If you are also

View File

@ -1302,20 +1302,6 @@ void vb2_video_unregister_device(struct video_device *vdev)
} }
EXPORT_SYMBOL_GPL(vb2_video_unregister_device); EXPORT_SYMBOL_GPL(vb2_video_unregister_device);
/* vb2_ops helpers. Only use if vq->lock is non-NULL. */
void vb2_ops_wait_prepare(struct vb2_queue *vq)
{
mutex_unlock(vq->lock);
}
EXPORT_SYMBOL_GPL(vb2_ops_wait_prepare);
void vb2_ops_wait_finish(struct vb2_queue *vq)
{
mutex_lock(vq->lock);
}
EXPORT_SYMBOL_GPL(vb2_ops_wait_finish);
/* /*
* Note that this function is called during validation time and * Note that this function is called during validation time and
* thus the req_queue_mutex is held to ensure no request objects * thus the req_queue_mutex is held to ensure no request objects

View File

@ -367,24 +367,6 @@ unsigned long vb2_fop_get_unmapped_area(struct file *file, unsigned long addr,
*/ */
void vb2_video_unregister_device(struct video_device *vdev); void vb2_video_unregister_device(struct video_device *vdev);
/**
* vb2_ops_wait_prepare - helper function to lock a struct &vb2_queue
*
* @vq: pointer to &struct vb2_queue
*
* ..note:: only use if vq->lock is non-NULL.
*/
void vb2_ops_wait_prepare(struct vb2_queue *vq);
/**
* vb2_ops_wait_finish - helper function to unlock a struct &vb2_queue
*
* @vq: pointer to &struct vb2_queue
*
* ..note:: only use if vq->lock is non-NULL.
*/
void vb2_ops_wait_finish(struct vb2_queue *vq);
struct media_request; struct media_request;
int vb2_request_validate(struct media_request *req); int vb2_request_validate(struct media_request *req);
void vb2_request_queue(struct media_request *req); void vb2_request_queue(struct media_request *req);