Message ID | 20200309162414.720306-11-jacopo@jmondi.org |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Jacopo, Thank you for the patch. On Mon, Mar 09, 2020 at 05:24:13PM +0100, Jacopo Mondi wrote: > Enable the enumeration of V4L2 array controls with V4L2_CTRL_TYPE_U8 > type. > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > --- > src/libcamera/v4l2_device.cpp | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp > index 464df6a1fe18..a36c121aa62a 100644 > --- a/src/libcamera/v4l2_device.cpp > +++ b/src/libcamera/v4l2_device.cpp > @@ -388,7 +388,8 @@ void V4L2Device::listControls() > > /* \todo Add support for menu and compound controls. */ > while (1) { > - ctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; > + ctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL | > + V4L2_CTRL_FLAG_NEXT_COMPOUND; > if (ioctl(VIDIOC_QUERY_EXT_CTRL, &ctrl)) > break; > > @@ -396,13 +397,6 @@ void V4L2Device::listControls() > ctrl.flags & V4L2_CTRL_FLAG_DISABLED) > continue; > > - if (ctrl.elems != 1 || ctrl.nr_of_dims) { > - LOG(V4L2, Debug) > - << "Array control " << utils::hex(ctrl.id) > - << " not supported"; > - continue; > - } We were guarding against something that could never happen as V4L2_CTRL_FLAG_NEXT_COMPOUND wasn't set, right ? This change seems fine to me, but I wonder if we should have a ctrl.elems check in setControls(). In any case, for this patch, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > - > switch (ctrl.type) { > case V4L2_CTRL_TYPE_INTEGER: > case V4L2_CTRL_TYPE_BOOLEAN: > @@ -411,8 +405,9 @@ void V4L2Device::listControls() > case V4L2_CTRL_TYPE_INTEGER64: > case V4L2_CTRL_TYPE_BITMASK: > case V4L2_CTRL_TYPE_INTEGER_MENU: > + case V4L2_CTRL_TYPE_U8: > break; > - /* \todo Support compound controls. */ > + /* \todo Support other control types. */ > default: > LOG(V4L2, Debug) > << "Control " << utils::hex(ctrl.id)
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp index 464df6a1fe18..a36c121aa62a 100644 --- a/src/libcamera/v4l2_device.cpp +++ b/src/libcamera/v4l2_device.cpp @@ -388,7 +388,8 @@ void V4L2Device::listControls() /* \todo Add support for menu and compound controls. */ while (1) { - ctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; + ctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL | + V4L2_CTRL_FLAG_NEXT_COMPOUND; if (ioctl(VIDIOC_QUERY_EXT_CTRL, &ctrl)) break; @@ -396,13 +397,6 @@ void V4L2Device::listControls() ctrl.flags & V4L2_CTRL_FLAG_DISABLED) continue; - if (ctrl.elems != 1 || ctrl.nr_of_dims) { - LOG(V4L2, Debug) - << "Array control " << utils::hex(ctrl.id) - << " not supported"; - continue; - } - switch (ctrl.type) { case V4L2_CTRL_TYPE_INTEGER: case V4L2_CTRL_TYPE_BOOLEAN: @@ -411,8 +405,9 @@ void V4L2Device::listControls() case V4L2_CTRL_TYPE_INTEGER64: case V4L2_CTRL_TYPE_BITMASK: case V4L2_CTRL_TYPE_INTEGER_MENU: + case V4L2_CTRL_TYPE_U8: break; - /* \todo Support compound controls. */ + /* \todo Support other control types. */ default: LOG(V4L2, Debug) << "Control " << utils::hex(ctrl.id)
Enable the enumeration of V4L2 array controls with V4L2_CTRL_TYPE_U8 type. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- src/libcamera/v4l2_device.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-)