Message ID | 20221215121634.287100-7-tomi.valkeinen@ideasonboard.com |
---|---|
State | Accepted |
Commit | 8a54644571fed484d55b3807f25f64cba8a9ca77 |
Headers | show |
Series | v4l: routing and streams support | expand |
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@ideasonboard.com> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > --- > > > > 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; > >
diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c index 61b429016a2f..c31b44800e39 100644 --- a/drivers/media/v4l2-core/v4l2-subdev.c +++ b/drivers/media/v4l2-core/v4l2-subdev.c @@ -23,6 +23,13 @@ #include <media/v4l2-fh.h> #include <media/v4l2-ioctl.h> +/* + * Streams API is an experimental feature. To use Streams API, set + * 'v4l2_subdev_enable_streams_api' to 1 below. + */ + +static bool v4l2_subdev_enable_streams_api = 0; + /* * Maximum stream ID is 63 for now, as we use u64 bitmask to represent a set * of streams. @@ -751,6 +758,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 +788,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;
Streams API is an experimental feature. To use Streams API, the user 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@ideasonboard.com> --- drivers/media/v4l2-core/v4l2-subdev.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)