]> www.infradead.org Git - users/hch/misc.git/commitdiff
media: i2c: ds90ub913: Stop accessing streams configs directly
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 28 Jul 2025 23:50:08 +0000 (02:50 +0300)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Mon, 25 Aug 2025 13:40:31 +0000 (15:40 +0200)
The v4l2_subdev_stream_config structure will be made private. Stop
accessing it directly, iterate over routes instead to initialize
formats.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/i2c/ds90ub913.c

index a80da2b4a8fa34e65f9f0468253f9f9e17aa9aed..73150061ea458937ae4ba7a937ea030b0d98bce3 100644 (file)
@@ -333,8 +333,7 @@ static int _ub913_set_routing(struct v4l2_subdev *sd,
                .quantization = V4L2_QUANTIZATION_LIM_RANGE,
                .xfer_func = V4L2_XFER_FUNC_SRGB,
        };
-       struct v4l2_subdev_stream_configs *stream_configs;
-       unsigned int i;
+       struct v4l2_subdev_route *route;
        int ret;
 
        ret = v4l2_subdev_routing_validate(sd, routing,
@@ -346,13 +345,15 @@ static int _ub913_set_routing(struct v4l2_subdev *sd,
        if (ret)
                return ret;
 
-       stream_configs = &state->stream_configs;
+       for_each_active_route(&state->routing, route) {
+               struct v4l2_mbus_framefmt *fmt;
 
-       for (i = 0; i < stream_configs->num_configs; i++) {
-               if (stream_configs->configs[i].pad == UB913_PAD_SINK)
-                       stream_configs->configs[i].fmt = in_format;
-               else
-                       stream_configs->configs[i].fmt = out_format;
+               fmt = v4l2_subdev_state_get_format(state, route->sink_pad,
+                                                  route->sink_stream);
+               *fmt = in_format;
+               fmt = v4l2_subdev_state_get_format(state, route->source_pad,
+                                                  route->source_stream);
+               *fmt = out_format;
        }
 
        return 0;