[RFC 02/10] v4l: Add private compound control type.

From: Florent Revest
Date: Thu Aug 25 2016 - 05:42:15 EST


From: Pawel Osciak <posciak@xxxxxxxxxxxx>

V4L2_CTRL_TYPE_PRIVATE is to be used for private driver compound
controls that use the "ptr" member of struct v4l2_ext_control.

Signed-off-by: Pawel Osciak <posciak@xxxxxxxxxxxx>
Signed-off-by: Jung Zhao <jung.zhao@xxxxxxxxxxxxxx>
Signed-off-by: Florent Revest <florent.revest@xxxxxxxxxxxxxxxxxx>
---
drivers/media/v4l2-core/v4l2-ctrls.c | 4 ++++
include/uapi/linux/videodev2.h | 2 ++
2 files changed, 6 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index f7333fe..60056b0 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -1543,6 +1543,10 @@ static int std_validate(const struct v4l2_ctrl *ctrl, u32 idx,
return -ERANGE;
return 0;

+ /* FIXME:just return 0 for now */
+ case V4L2_CTRL_TYPE_PRIVATE:
+ return 0;
+
default:
return -EINVAL;
}
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 3eafd3f..904c44c 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -1521,6 +1521,8 @@ enum v4l2_ctrl_type {
V4L2_CTRL_TYPE_U8 = 0x0100,
V4L2_CTRL_TYPE_U16 = 0x0101,
V4L2_CTRL_TYPE_U32 = 0x0102,
+
+ V4L2_CTRL_TYPE_PRIVATE = 0xffff,
};

/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
--
2.7.4