media: v4l: Bring back array_size parameter to v4l2_find_nearest_size
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 21 Mar 2018 20:29:27 +0000 (16:29 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 4 Apr 2018 10:12:53 +0000 (06:12 -0400)
An older version of the driver patches were merged accidentally which
resulted in missing the array_size parameter that tells the length of the
array that contains the different supported sizes.

Bring it back to v4l2_find_nearest size and make the corresponding change
for the drivers using it as well.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/ov13858.c
drivers/media/i2c/ov5670.c
drivers/media/platform/vivid/vivid-vid-cap.c
include/media/v4l2-common.h

index 30ee9f71bf0dae1d01f48c852707d8f0c5978a06..3e9ff8205991e8629c1fba3e4e608a78026a164c 100644 (file)
@@ -1375,7 +1375,9 @@ ov13858_set_pad_format(struct v4l2_subdev *sd,
        if (fmt->format.code != MEDIA_BUS_FMT_SGRBG10_1X10)
                fmt->format.code = MEDIA_BUS_FMT_SGRBG10_1X10;
 
-       mode = v4l2_find_nearest_size(supported_modes, width, height,
+       mode = v4l2_find_nearest_size(supported_modes,
+                                     ARRAY_SIZE(supported_modes),
+                                     width, height,
                                      fmt->format.width, fmt->format.height);
        ov13858_update_pad_format(mode, fmt);
        if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
index d2db480da1b9db07d0c4c91a9256345bfb8663e9..e03d82c44dd0f7c55651a964ef998b572b839a77 100644 (file)
@@ -2230,7 +2230,9 @@ static int ov5670_set_pad_format(struct v4l2_subdev *sd,
 
        fmt->format.code = MEDIA_BUS_FMT_SGRBG10_1X10;
 
-       mode = v4l2_find_nearest_size(supported_modes, width, height,
+       mode = v4l2_find_nearest_size(supported_modes,
+                                     ARRAY_SIZE(supported_modes),
+                                     width, height,
                                      fmt->format.width, fmt->format.height);
        ov5670_update_pad_format(mode, fmt);
        if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
index 01c7036836573a587447c6df61cc955b36d824bf..1599159f2574e5c1f9dbc9b075bdc05134bb2d5a 100644 (file)
@@ -561,8 +561,9 @@ int vivid_try_fmt_vid_cap(struct file *file, void *priv,
        mp->field = vivid_field_cap(dev, mp->field);
        if (vivid_is_webcam(dev)) {
                const struct v4l2_frmsize_discrete *sz =
-                       v4l2_find_nearest_size(webcam_sizes, width, height,
-                                              mp->width, mp->height);
+                       v4l2_find_nearest_size(webcam_sizes,
+                                              VIVID_WEBCAM_SIZES, width,
+                                              height, mp->width, mp->height);
 
                w = sz->width;
                h = sz->height;
index 54b689247937576e7ad049e5967cec97965b202f..160bca96d5241b8c85b7041ff711c499ae1088c7 100644 (file)
@@ -320,6 +320,7 @@ void v4l_bound_align_image(unsigned int *width, unsigned int wmin,
  *     set of resolutions contained in an array of a driver specific struct.
  *
  * @array: a driver specific array of image sizes
+ * @array_size: the length of the driver specific array of image sizes
  * @width_field: the name of the width field in the driver specific struct
  * @height_field: the name of the height field in the driver specific struct
  * @width: desired width.
@@ -332,13 +333,13 @@ void v4l_bound_align_image(unsigned int *width, unsigned int wmin,
  *
  * Returns the best match or NULL if the length of the array is zero.
  */
-#define v4l2_find_nearest_size(array, width_field, height_field, \
+#define v4l2_find_nearest_size(array, array_size, width_field, height_field, \
                               width, height)                           \
        ({                                                              \
                BUILD_BUG_ON(sizeof((array)->width_field) != sizeof(u32) || \
                             sizeof((array)->height_field) != sizeof(u32)); \
                (typeof(&(*(array))))__v4l2_find_nearest_size(          \
-                       (array), ARRAY_SIZE(array), sizeof(*(array)),   \
+                       (array), array_size, sizeof(*(array)),          \
                        offsetof(typeof(*(array)), width_field),        \
                        offsetof(typeof(*(array)), height_field),       \
                        width, height);                                 \