]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: mgb4: Enumerate only the available timings
authorMartin Tůma <martin.tuma@digiteqautomotive.com>
Tue, 8 Apr 2025 13:21:55 +0000 (15:21 +0200)
committerHans Verkuil <hverkuil@xs4all.nl>
Fri, 25 Apr 2025 13:14:33 +0000 (15:14 +0200)
Enumerate only the available (as given by the input source) timings, not
all theoretically possible.

Signed-off-by: Martin Tůma <martin.tuma@digiteqautomotive.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/pci/mgb4/mgb4_vin.c

index 6e806e075837297493ead128ae9ab7b17447e79c..989e93f67f75bdb5ff8e513b52b8573f14840dc8 100644 (file)
@@ -641,7 +641,14 @@ static int vidioc_query_dv_timings(struct file *file, void *fh,
 static int vidioc_enum_dv_timings(struct file *file, void *fh,
                                  struct v4l2_enum_dv_timings *timings)
 {
-       return v4l2_enum_dv_timings_cap(timings, &video_timings_cap, NULL, NULL);
+       struct mgb4_vin_dev *vindev = video_drvdata(file);
+
+       if (timings->index != 0)
+               return -EINVAL;
+       if (get_timings(vindev, &timings->timings) < 0)
+               return -ENODATA;
+
+       return 0;
 }
 
 static int vidioc_dv_timings_cap(struct file *file, void *fh,