]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: uvcvideo: Move video_device under video_queue
authorRicardo Ribalda <ribalda@chromium.org>
Fri, 25 Jul 2025 13:12:49 +0000 (13:12 +0000)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Sat, 13 Sep 2025 16:35:00 +0000 (18:35 +0200)
It is more natural that the "struct video_device" belongs to
uvc_video_queue instead of uvc_streaming.

This is an aesthetic change. No functional change expected.

Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/usb/uvc/uvc_driver.c
drivers/media/usb/uvc/uvc_metadata.c
drivers/media/usb/uvc/uvc_v4l2.c
drivers/media/usb/uvc/uvc_video.c
drivers/media/usb/uvc/uvcvideo.h

index 3039e6a533b82dd917050d416c9ced8756d69170..505e85a6b4d99666f3a4a9441dd1ca72e13228e0 100644 (file)
@@ -1954,11 +1954,11 @@ static void uvc_unregister_video(struct uvc_device *dev)
 
        list_for_each_entry(stream, &dev->streams, list) {
                /* Nothing to do here, continue. */
-               if (!video_is_registered(&stream->vdev))
+               if (!video_is_registered(&stream->queue.vdev))
                        continue;
 
-               vb2_video_unregister_device(&stream->vdev);
-               vb2_video_unregister_device(&stream->meta.vdev);
+               vb2_video_unregister_device(&stream->queue.vdev);
+               vb2_video_unregister_device(&stream->meta.queue.vdev);
 
                /*
                 * Now both vdevs are not streaming and all the ioctls will
@@ -1980,12 +1980,12 @@ static void uvc_unregister_video(struct uvc_device *dev)
 
 int uvc_register_video_device(struct uvc_device *dev,
                              struct uvc_streaming *stream,
-                             struct video_device *vdev,
                              struct uvc_video_queue *queue,
                              enum v4l2_buf_type type,
                              const struct v4l2_file_operations *fops,
                              const struct v4l2_ioctl_ops *ioctl_ops)
 {
+       struct video_device *vdev = &queue->vdev;
        int ret;
 
        /* Initialize the video buffers queue. */
@@ -2067,9 +2067,9 @@ static int uvc_register_video(struct uvc_device *dev,
        uvc_debugfs_init_stream(stream);
 
        /* Register the device with V4L. */
-       return uvc_register_video_device(dev, stream, &stream->vdev,
-                                        &stream->queue, stream->type,
-                                        &uvc_fops, &uvc_ioctl_ops);
+       return uvc_register_video_device(dev, stream, &stream->queue,
+                                        stream->type, &uvc_fops,
+                                        &uvc_ioctl_ops);
 }
 
 /*
@@ -2105,7 +2105,7 @@ static int uvc_register_terms(struct uvc_device *dev,
                 */
                uvc_meta_register(stream);
 
-               term->vdev = &stream->vdev;
+               term->vdev = &stream->queue.vdev;
        }
 
        return 0;
index ed859ef4463dfabc701beeb5b00b4fedb5f19c74..c23b174965c379a1abbc51d42acacade80ff7e10 100644 (file)
@@ -226,12 +226,11 @@ static int uvc_meta_detect_msxu(struct uvc_device *dev)
 int uvc_meta_register(struct uvc_streaming *stream)
 {
        struct uvc_device *dev = stream->dev;
-       struct video_device *vdev = &stream->meta.vdev;
        struct uvc_video_queue *queue = &stream->meta.queue;
 
        stream->meta.format = V4L2_META_FMT_UVC;
 
-       return uvc_register_video_device(dev, stream, vdev, queue,
+       return uvc_register_video_device(dev, stream, queue,
                                         V4L2_BUF_TYPE_META_CAPTURE,
                                         &uvc_meta_fops, &uvc_meta_ioctl_ops);
 }
index e974aed93962d33587dc6d47a1f76e9bbab1cc9f..9e4a251eca88085a1b4e0e854370015855be92ee 100644 (file)
@@ -576,7 +576,7 @@ static int uvc_v4l2_open(struct file *file)
        if (!handle)
                return -ENOMEM;
 
-       v4l2_fh_init(&handle->vfh, &stream->vdev);
+       v4l2_fh_init(&handle->vfh, &stream->queue.vdev);
        v4l2_fh_add(&handle->vfh, file);
        handle->chain = stream->chain;
        handle->stream = stream;
index a5013a7fbca40168b97268986a5972c349ccbaa8..541136702d74d1e910ed3902aa37bfab73190137 100644 (file)
@@ -1691,7 +1691,7 @@ static void uvc_video_complete(struct urb *urb)
        struct uvc_streaming *stream = uvc_urb->stream;
        struct uvc_video_queue *queue = &stream->queue;
        struct uvc_video_queue *qmeta = &stream->meta.queue;
-       struct vb2_queue *vb2_qmeta = stream->meta.vdev.queue;
+       struct vb2_queue *vb2_qmeta = stream->meta.queue.vdev.queue;
        struct uvc_buffer *buf = NULL;
        struct uvc_buffer *buf_meta = NULL;
        unsigned long flags;
index 678aa7a5e6b0b6e9d183ccdfb418ebad1b81e8ee..8f2667aadc65576bc8617f270a57bdb15f15548d 100644 (file)
@@ -328,6 +328,7 @@ struct uvc_buffer {
 #define UVC_QUEUE_DISCONNECTED         (1 << 0)
 
 struct uvc_video_queue {
+       struct video_device vdev;
        struct vb2_queue queue;
        struct mutex mutex;                     /*
                                                 * Serializes vb2_queue and
@@ -450,7 +451,6 @@ struct uvc_urb {
 struct uvc_streaming {
        struct list_head list;
        struct uvc_device *dev;
-       struct video_device vdev;
        struct uvc_video_chain *chain;
        atomic_t active;
 
@@ -477,7 +477,6 @@ struct uvc_streaming {
                       struct uvc_buffer *meta_buf);
 
        struct {
-               struct video_device vdev;
                struct uvc_video_queue queue;
                u32 format;
        } meta;
@@ -732,7 +731,6 @@ int uvc_meta_register(struct uvc_streaming *stream);
 
 int uvc_register_video_device(struct uvc_device *dev,
                              struct uvc_streaming *stream,
-                             struct video_device *vdev,
                              struct uvc_video_queue *queue,
                              enum v4l2_buf_type type,
                              const struct v4l2_file_operations *fops,