media: tegra-video: Use accessors for pad config 'try_*' fields
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 23 Oct 2023 21:40:09 +0000 (23:40 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 23 Nov 2023 17:23:23 +0000 (18:23 +0100)
The 'try_*' fields of the v4l2_subdev_pad_config structure are meant to
be accessed through helper functions. Replace direct access with usage
of the v4l2_subdev_get_pad_format(), v4l2_subdev_get_pad_crop() and
v4l2_subdev_get_pad_compose() helpers.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/tegra-video/vi.c

index 61169ff..87e5365 100644 (file)
@@ -439,6 +439,7 @@ static int __tegra_channel_try_format(struct tegra_vi_channel *chan,
                .which = V4L2_SUBDEV_FORMAT_ACTIVE,
                .target = V4L2_SEL_TGT_CROP_BOUNDS,
        };
+       struct v4l2_rect *try_crop;
        int ret;
 
        subdev = tegra_channel_get_remote_source_subdev(chan);
@@ -473,24 +474,25 @@ static int __tegra_channel_try_format(struct tegra_vi_channel *chan,
         * Attempt to obtain the format size from subdev.
         * If not available, try to get crop boundary from subdev.
         */
+       try_crop = v4l2_subdev_get_pad_crop(subdev, sd_state, 0);
        fse.code = fmtinfo->code;
        ret = v4l2_subdev_call(subdev, pad, enum_frame_size, sd_state, &fse);
        if (ret) {
                if (!v4l2_subdev_has_op(subdev, pad, get_selection)) {
-                       sd_state->pads->try_crop.width = 0;
-                       sd_state->pads->try_crop.height = 0;
+                       try_crop->width = 0;
+                       try_crop->height = 0;
                } else {
                        ret = v4l2_subdev_call(subdev, pad, get_selection,
                                               NULL, &sdsel);
                        if (ret)
                                return -EINVAL;
 
-                       sd_state->pads->try_crop.width = sdsel.r.width;
-                       sd_state->pads->try_crop.height = sdsel.r.height;
+                       try_crop->width = sdsel.r.width;
+                       try_crop->height = sdsel.r.height;
                }
        } else {
-               sd_state->pads->try_crop.width = fse.max_width;
-               sd_state->pads->try_crop.height = fse.max_height;
+               try_crop->width = fse.max_width;
+               try_crop->height = fse.max_height;
        }
 
        ret = v4l2_subdev_call(subdev, pad, set_fmt, sd_state, &fmt);