On 17/10/2021 21:24, Jacopo Mondi wrote:
Add a for_each_active_route() macro to replace the repeated pattern of iterating on the active routes of a routing table. Replace the existing occurrences of such pattern in the codebase. Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> --- drivers/media/i2c/ds90ub913.c | 8 ++------ drivers/media/i2c/ds90ub953.c | 7 ++----- drivers/media/i2c/ds90ub960.c | 8 ++------ drivers/media/i2c/max9286.c | 10 ++-------- drivers/media/platform/ti-vpe/cal-video.c | 9 ++------- drivers/media/v4l2-core/v4l2-subdev.c | 18 ++++++++++++++++++ include/media/v4l2-subdev.h | 11 +++++++++++ 7 files changed, 39 insertions(+), 32 deletions(-)
...
+struct v4l2_subdev_route *next_active_route(const struct v4l2_subdev_krouting *routing, + struct v4l2_subdev_route *route) +{ + if (route) + ++route; + else + route = &routing->routes[0]; + + for (; route < routing->routes + routing->num_routes; ++route) { + if (!(route->flags & V4L2_SUBDEV_ROUTE_FL_ACTIVE)) + continue; + + return route; + } + + return NULL; +}
Also, this must be exported. I'll add that. And probably better to have a prefix in the function name.
Tomi