From: Hans Verkuil <hans.verkuil@xxxxxxxxx> The ctrl_class is fairly pointless when used with drivers that use the control framework: you can just fill in 0 and it will just work fine. There are still some old unconverted drivers that do not support 0 and instead want the control class there. The idea being that all controls in the list all belong to that class. This was done to simplify drivers in the absence of the control framework. When using the control framework the framework itself is smart enough to allow controls of any class to be included in the control list. Since configuration store IDs are in the range 1..255 (or so, in any case a relatively small non-zero positive integer) it makes sense to effectively rename ctrl_class to config_store. Set it to 0 and you get the normal behavior (you change the current control value), set it to a configuration store ID and you get/set the control for that store. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> --- include/uapi/linux/videodev2.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 199834b..83ef28a 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -1294,7 +1294,10 @@ struct v4l2_ext_control { } __attribute__ ((packed)); struct v4l2_ext_controls { - __u32 ctrl_class; + union { + __u32 ctrl_class; + __u32 config_store; + }; __u32 count; __u32 error_idx; __u32 reserved[2]; -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html