aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Ribalda2015-03-20 10:55:37 -0300
committerMauro Carvalho Chehab2015-04-08 06:34:44 -0300
commit45f014c5264f5e68ef0e51b36f4ef5ede3d18397 (patch)
treed9329bc28e3252b2f9f93bd68bcd58f5429a8d7d
parentef66c0ca09595d72f058b11bd7b542b0d95a1350 (diff)
[media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls
Any control with V4L2_CTRL_FLAG_EXECUTE_ON_WRITE set should return changed == true in cluster_changed. This forces the value to be passed to the driver even if it has not changed. 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>
-rw-r--r--drivers/media/v4l2-core/v4l2-ctrls.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index bacaed64a803..e3a3468002e6 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -1611,6 +1611,10 @@ static int cluster_changed(struct v4l2_ctrl *master)
if (ctrl == NULL)
continue;
+
+ if (ctrl->flags & V4L2_CTRL_FLAG_EXECUTE_ON_WRITE)
+ changed = ctrl_changed = true;
+
/*
* Set has_changed to false to avoid generating
* the event V4L2_EVENT_CTRL_CH_VALUE