V4L/DVB (10544): v4l2-common: add comments warning that about the sort order
Control arrays as are used with v4l2_ctrl_next must be sorted from low to high. Add a comment at the top of all such arrays to warn about this. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
1b6f1d9603
commit
2ba588942c
|
@ -30,6 +30,7 @@
|
|||
#include "cx18-mailbox.h"
|
||||
#include "cx18-controls.h"
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
static const u32 user_ctrls[] = {
|
||||
V4L2_CID_USER_CLASS,
|
||||
V4L2_CID_BRIGHTNESS,
|
||||
|
|
|
@ -38,6 +38,7 @@ static int debug;
|
|||
module_param(debug, int, 0644);
|
||||
MODULE_PARM_DESC(debug, "Debug level (0-1)");
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
const u32 cx2341x_mpeg_ctrls[] = {
|
||||
V4L2_CID_MPEG_CLASS,
|
||||
V4L2_CID_MPEG_STREAM_TYPE,
|
||||
|
|
|
@ -244,6 +244,7 @@ static struct cx23885_ctrl cx23885_ctls[] = {
|
|||
};
|
||||
static const int CX23885_CTLS = ARRAY_SIZE(cx23885_ctls);
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
static const u32 cx23885_user_ctrls[] = {
|
||||
V4L2_CID_USER_CLASS,
|
||||
V4L2_CID_BRIGHTNESS,
|
||||
|
|
|
@ -298,6 +298,7 @@ static struct cx88_ctrl cx8800_ctls[] = {
|
|||
};
|
||||
static const int CX8800_CTLS = ARRAY_SIZE(cx8800_ctls);
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
const u32 cx88_user_ctrls[] = {
|
||||
V4L2_CID_USER_CLASS,
|
||||
V4L2_CID_BRIGHTNESS,
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "ivtv-mailbox.h"
|
||||
#include "ivtv-controls.h"
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
static const u32 user_ctrls[] = {
|
||||
V4L2_CID_USER_CLASS,
|
||||
V4L2_CID_BRIGHTNESS,
|
||||
|
|
|
@ -352,6 +352,7 @@ static int empress_s_ctrl(struct file *file, void *priv,
|
|||
static int empress_queryctrl(struct file *file, void *priv,
|
||||
struct v4l2_queryctrl *c)
|
||||
{
|
||||
/* Must be sorted from low to high control ID! */
|
||||
static const u32 user_ctrls[] = {
|
||||
V4L2_CID_USER_CLASS,
|
||||
V4L2_CID_BRIGHTNESS,
|
||||
|
@ -364,6 +365,7 @@ static int empress_queryctrl(struct file *file, void *priv,
|
|||
0
|
||||
};
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
static const u32 mpeg_ctrls[] = {
|
||||
V4L2_CID_MPEG_CLASS,
|
||||
V4L2_CID_MPEG_STREAM_TYPE,
|
||||
|
|
|
@ -749,7 +749,7 @@ EXPORT_SYMBOL(v4l2_ctrl_query_menu_valid_items);
|
|||
/* ctrl_classes points to an array of u32 pointers, the last element is
|
||||
a NULL pointer. Each u32 array is a 0-terminated array of control IDs.
|
||||
Each array must be sorted low to high and belong to the same control
|
||||
class. The array of u32 pointer must also be sorted, from low class IDs
|
||||
class. The array of u32 pointers must also be sorted, from low class IDs
|
||||
to high class IDs.
|
||||
|
||||
This function returns the first ID that follows after the given ID.
|
||||
|
|
|
@ -107,6 +107,11 @@ int v4l2_ctrl_query_menu(struct v4l2_querymenu *qmenu,
|
|||
struct v4l2_queryctrl *qctrl, const char **menu_items);
|
||||
#define V4L2_CTRL_MENU_IDS_END (0xffffffff)
|
||||
int v4l2_ctrl_query_menu_valid_items(struct v4l2_querymenu *qmenu, const u32 *ids);
|
||||
|
||||
/* Note: ctrl_classes points to an array of u32 pointers. Each u32 array is a
|
||||
0-terminated array of control IDs. Each array must be sorted low to high
|
||||
and belong to the same control class. The array of u32 pointers must also
|
||||
be sorted, from low class IDs to high class IDs. */
|
||||
u32 v4l2_ctrl_next(const u32 * const *ctrl_classes, u32 id);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
|
Loading…
Reference in a new issue