[media] media/v4l2-ctrls: Add execute flags to write_only controls
authorRicardo Ribalda <ricardo.ribalda@gmail.com>
Fri, 20 Mar 2015 14:21:28 +0000 (11:21 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 8 Apr 2015 09:34:19 +0000 (06:34 -0300)
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>
drivers/media/v4l2-core/v4l2-ctrls.c

index 2ebc33e18041a7133df31ea3f9a7669e974fbf28..bacaed64a803a52a2ed2677f530ce6d2c2cebe8c 100644 (file)
@@ -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_STOP:
                *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;
                break;
        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_IRIS_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;
        case V4L2_CID_FLASH_STROBE_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;
        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)
                flags |= V4L2_CTRL_FLAG_READ_ONLY;
        else if (type == V4L2_CTRL_TYPE_INTEGER64 ||