Hi Laurent, On Fri, Aug 18, 2023 at 06:55:18PM +0300, Laurent Pinchart wrote: > Routing support, through the subdev .set_routing() operation, requires > the subdev to support streams. This is however not clearly documented > anywhere. Fix it by expanding the operation's documentation to indicate > that subdevs must set the V4L2_SUBDEV_FL_STREAMS flag. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > include/media/v4l2-subdev.h | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h > index b325df0d54d6..0b04ed1994b6 100644 > --- a/include/media/v4l2-subdev.h > +++ b/include/media/v4l2-subdev.h > @@ -822,8 +822,9 @@ struct v4l2_subdev_state { > * operation shall fail if the pad index it has been called on > * is not valid or in case of unrecoverable failures. > * > - * @set_routing: enable or disable data connection routes described in the > - * subdevice routing table. > + * @set_routing: Enable or disable data connection routes described in the > + * subdevice routing table. Subdevs that implement this operation > + * must set the V4L2_SUBDEV_FL_STREAMS flag. Could we set the flag in the core when this op exists for a sub-device? We could do similarly for events when the sub-device has a control handler. The device node should probably exist in almost all cases, but I'm not sure right now whether there is a reasonable test for it. -- Regards, Sakari Ailus