Commit 1bfef497 authored by Sakari Ailus's avatar Sakari Ailus Committed by Hans Verkuil

media: v4l: subdev: Add trivial set_routing support

Add trivial S_ROUTING IOCTL support for drivers where routing is static.
Essentially this means returning the same information G_ROUTING call would
have done.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Co-developed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarJulien Massot <julien.massot@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent 91e99e5a
......@@ -1013,6 +1013,20 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg,
return -EINVAL;
}
/*
* If the driver doesn't support setting routing, just return
* the routing table.
*/
if (!v4l2_subdev_has_op(sd, pad, set_routing)) {
memcpy((struct v4l2_subdev_route *)(uintptr_t)routing->routes,
state->routing.routes,
min(state->routing.num_routes, routing->len_routes) *
sizeof(*state->routing.routes));
routing->num_routes = state->routing.num_routes;
return 0;
}
krouting.num_routes = routing->num_routes;
krouting.len_routes = routing->len_routes;
krouting.routes = routes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment