On 25/11/2022 14:34, Volodymyr Kharuk wrote: > Define names, flags and types of TOF controls. *dims* is driver specific. > It also means, that it is not possible to use new_std for arrays. > > Signed-off-by: Volodymyr Kharuk <vkh@xxxxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-ctrls-defs.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/media/v4l2-core/v4l2-ctrls-defs.c b/drivers/media/v4l2-core/v4l2-ctrls-defs.c > index 564fedee2c88..1135d33c1baa 100644 > --- a/drivers/media/v4l2-core/v4l2-ctrls-defs.c > +++ b/drivers/media/v4l2-core/v4l2-ctrls-defs.c > @@ -1196,6 +1196,13 @@ const char *v4l2_ctrl_get_name(u32 id) > case V4L2_CID_COLORIMETRY_CLASS: return "Colorimetry Controls"; > case V4L2_CID_COLORIMETRY_HDR10_CLL_INFO: return "HDR10 Content Light Info"; > case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY: return "HDR10 Mastering Display"; > + > + /* Time of light camera controls */ > + /* Keep the order of the 'case's the same as in v4l2-controls.h! */ > + case V4L2_CID_TOF_CLASS: return "Time of light Camera Controls"; light -> Flight > + case V4L2_CID_TOF_PHASE_SEQ: return "TOF phase sequence"; Capitalize, so: "TOF Phase Sequence" > + case V4L2_CID_TOF_FMOD: return "TOF frequency modulation"; "TOF Frequency Modulation" > + case V4L2_CID_TOF_TINT: return "TOF time integration"; "TOF Time Integration" > default: > return NULL; > } > @@ -1403,6 +1410,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, > case V4L2_CID_DETECT_CLASS: > case V4L2_CID_CODEC_STATELESS_CLASS: > case V4L2_CID_COLORIMETRY_CLASS: > + case V4L2_CID_TOF_CLASS: > *type = V4L2_CTRL_TYPE_CTRL_CLASS; > /* You can neither read nor write these */ > *flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY; > @@ -1541,6 +1549,18 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, > case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY: > *type = V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY; > break; > + case V4L2_CID_TOF_PHASE_SEQ: > + *type = V4L2_CTRL_TYPE_U16; > + *flags |= V4L2_CTRL_FLAG_DYNAMIC_ARRAY; > + break; > + case V4L2_CID_TOF_FMOD: > + *type = V4L2_CTRL_TYPE_U8; > + *flags |= V4L2_CTRL_FLAG_DYNAMIC_ARRAY; > + break; > + case V4L2_CID_TOF_TINT: > + *type = V4L2_CTRL_TYPE_U16; > + *flags |= V4L2_CTRL_FLAG_DYNAMIC_ARRAY; > + break; > default: > *type = V4L2_CTRL_TYPE_INTEGER; > break; Regards, Hans