[media] media/v4l2-ctrls: Add execute flags to write_only controls

Any control that sets FLAG_WRITE_ONLY should OR it with
FLAG_EXECUTE_ON_WRITE.

So we can keep the current meaning of WRITE_ONLY.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Ricardo Ribalda 2015-03-20 11:21:28 -03:00 коммит произвёл Mauro Carvalho Chehab
Родитель b6e5b8f1a9
Коммит ef66c0ca09
1 изменённых файлов: 6 добавлений и 3 удалений

Просмотреть файл

@ -991,7 +991,8 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
case V4L2_CID_AUTO_FOCUS_START: case V4L2_CID_AUTO_FOCUS_START:
case V4L2_CID_AUTO_FOCUS_STOP: case V4L2_CID_AUTO_FOCUS_STOP:
*type = V4L2_CTRL_TYPE_BUTTON; *type = V4L2_CTRL_TYPE_BUTTON;
*flags |= V4L2_CTRL_FLAG_WRITE_ONLY; *flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
*min = *max = *step = *def = 0; *min = *max = *step = *def = 0;
break; break;
case V4L2_CID_POWER_LINE_FREQUENCY: case V4L2_CID_POWER_LINE_FREQUENCY:
@ -1172,7 +1173,8 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
case V4L2_CID_FOCUS_RELATIVE: case V4L2_CID_FOCUS_RELATIVE:
case V4L2_CID_IRIS_RELATIVE: case V4L2_CID_IRIS_RELATIVE:
case V4L2_CID_ZOOM_RELATIVE: case V4L2_CID_ZOOM_RELATIVE:
*flags |= V4L2_CTRL_FLAG_WRITE_ONLY; *flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
break; break;
case V4L2_CID_FLASH_STROBE_STATUS: case V4L2_CID_FLASH_STROBE_STATUS:
case V4L2_CID_AUTO_FOCUS_STATUS: case V4L2_CID_AUTO_FOCUS_STATUS:
@ -1983,7 +1985,8 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl,
sz_extra = 0; sz_extra = 0;
if (type == V4L2_CTRL_TYPE_BUTTON) if (type == V4L2_CTRL_TYPE_BUTTON)
flags |= V4L2_CTRL_FLAG_WRITE_ONLY; flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
else if (type == V4L2_CTRL_TYPE_CTRL_CLASS) else if (type == V4L2_CTRL_TYPE_CTRL_CLASS)
flags |= V4L2_CTRL_FLAG_READ_ONLY; flags |= V4L2_CTRL_FLAG_READ_ONLY;
else if (type == V4L2_CTRL_TYPE_INTEGER64 || else if (type == V4L2_CTRL_TYPE_INTEGER64 ||