On 27/07/2022 13:36, Tomi Valkeinen wrote:
@@ -1593,6 +1593,19 @@ int v4l2_subdev_routing_validate(struct v4l2_subdev *sd,
const struct v4l2_subdev_krouting *routing,
enum v4l2_subdev_routing_restriction disallow);
+struct v4l2_subdev_route *
+__v4l2_subdev_next_active_route(const struct v4l2_subdev_krouting *routing,
+ struct v4l2_subdev_route *route);
+
+/**
+ * for_each_active_route - iterate on all active routes of a routing table
+ * @routing: The routing table
+ * @route: The route iterator
+ */
+#define for_each_active_route(routing, route) \
+ for ((route) = NULL; \
+ ((route) = __v4l2_subdev_next_active_route((routing), (route)));)
+
By the way, now that we can do it, how do people feel about changing the
above (and other similar macros) to something like:
#define for_each_active_route(routing, route) \
for (struct v4l2_subdev_route *route = NULL; \
(route = __v4l2_subdev_next_active_route((routing), route));)
Tomi