From: Martin Tůma Date: Tue, 8 Apr 2025 13:21:55 +0000 (+0200) Subject: media: mgb4: Enumerate only the available timings X-Git-Tag: v6.16-rc1~145^2~142 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2226b2dd42c59dff5f7de35afe5c0cc1a674b085;p=thirdparty%2Fkernel%2Flinux.git media: mgb4: Enumerate only the available timings Enumerate only the available (as given by the input source) timings, not all theoretically possible. Signed-off-by: Martin Tůma Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/pci/mgb4/mgb4_vin.c b/drivers/media/pci/mgb4/mgb4_vin.c index 6e806e0758372..989e93f67f75b 100644 --- a/drivers/media/pci/mgb4/mgb4_vin.c +++ b/drivers/media/pci/mgb4/mgb4_vin.c @@ -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,