Message ID | 20221215121634.287100-7-tomi.valkeinen@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | v4l: routing and streams support | expand |
Moi, On Thu, Dec 15, 2022 at 02:16:20PM +0200, Tomi Valkeinen wrote: > 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(+) > > 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; Static variables shouldn't be explicitly assigned to zero. I'll address this while applying. > + > /* > * 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; >
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(+)