Re: [PATCH v16.1] media: subdev: Require code change to enable [GS]_ROUTING

From: Laurent Pinchart
Date: Sun Jan 15 2023 - 10:35:03 EST


On Sun, Jan 15, 2023 at 05:34:23PM +0200, Laurent Pinchart wrote:
> Hi Tomi,
>
> Thank you for the patch.
>
> On Sun, Jan 15, 2023 at 02:40:08PM +0200, Tomi Valkeinen wrote:
> > Streams API is an experimental feature. To use Streams API, the user
>
> Nitpicking, I'd write "The Streams API" and "To use the Streams API".
>
> I'm sure Sakari can handle this in the second version of the pull
> request.
>
> > needs to change a variable in v4l2-subdev.c and recompile the kernel.
> >
> > This commit should be reverted when the Streams API is deemed ready for
> > production use.
> >
> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>
> > ---
> >
> > Here's a minor update to the patch:
> > - Fix unused var warning
> > - Don't initialize the static var to 0
> >
> > drivers/media/v4l2-core/v4l2-subdev.c | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c
> > index 61b429016a2f..a576b22164b0 100644
> > --- a/drivers/media/v4l2-core/v4l2-subdev.c
> > +++ b/drivers/media/v4l2-core/v4l2-subdev.c
> > @@ -23,6 +23,15 @@
> > #include <media/v4l2-fh.h>
> > #include <media/v4l2-ioctl.h>
> >
> > +#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)
> > +/*
> > + * Streams API is an experimental feature. To use Streams API, set

Oh, and here too.

> > + * 'v4l2_subdev_enable_streams_api' to 1 below.
> > + */
> > +
> > +static bool v4l2_subdev_enable_streams_api;
> > +#endif
> > +
> > /*
> > * Maximum stream ID is 63 for now, as we use u64 bitmask to represent a set
> > * of streams.
> > @@ -751,6 +760,9 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg,
> > struct v4l2_subdev_routing *routing = arg;
> > struct v4l2_subdev_krouting *krouting;
> >
> > + if (!v4l2_subdev_enable_streams_api)
> > + return -ENOIOCTLCMD;
> > +
> > if (!(sd->flags & V4L2_SUBDEV_FL_STREAMS))
> > return -ENOIOCTLCMD;
> >
> > @@ -778,6 +790,9 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg,
> > struct v4l2_subdev_krouting krouting = {};
> > unsigned int i;
> >
> > + if (!v4l2_subdev_enable_streams_api)
> > + return -ENOIOCTLCMD;
> > +
> > if (!(sd->flags & V4L2_SUBDEV_FL_STREAMS))
> > return -ENOIOCTLCMD;
> >

--
Regards,

Laurent Pinchart