media: ov5640: Provide timings accessor
authorJacopo Mondi <jacopo@jmondi.org>
Fri, 13 May 2022 14:13:59 +0000 (15:13 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 8 Jul 2022 14:22:54 +0000 (15:22 +0100)
Provide a function to shortcut access to the correct timings definition
to avoid repeating the same pattern when accessing the sensor timings.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/i2c/ov5640.c

index ba4ef43..21ddbff 100644 (file)
@@ -1123,6 +1123,16 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
        },
 };
 
+static const struct ov5640_timings *
+ov5640_timings(const struct ov5640_dev *sensor,
+              const struct ov5640_mode_info *mode)
+{
+       if (ov5640_is_csi2(sensor))
+               return &mode->csi2_timings;
+
+       return &mode->dvp_timings;
+}
+
 static int ov5640_init_slave_id(struct ov5640_dev *sensor)
 {
        struct i2c_client *client = sensor->i2c_client;
@@ -1635,11 +1645,7 @@ static int ov5640_set_timings(struct ov5640_dev *sensor,
                        return ret;
        }
 
-       if (ov5640_is_csi2(sensor))
-               timings = &mode->csi2_timings;
-       else
-               timings = &mode->dvp_timings;
-
+       timings = ov5640_timings(sensor, mode);
        analog_crop = &timings->analog_crop;
        crop = &timings->crop;