mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
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: Sakari Ailus <sakari.ailus@linux.intel.com> Co-developed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Julien Massot <julien.massot@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
91e99e5a0b
commit
1bfef49741
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user