|
@@ -1609,6 +1609,15 @@ static int cluster_changed(struct v4l2_ctrl *master)
|
|
|
|
|
|
if (ctrl == NULL)
|
|
|
continue;
|
|
|
+ /*
|
|
|
+ * Set has_changed to false to avoid generating
|
|
|
+ * the event V4L2_EVENT_CTRL_CH_VALUE
|
|
|
+ */
|
|
|
+ if (ctrl->flags & V4L2_CTRL_FLAG_VOLATILE) {
|
|
|
+ ctrl->has_changed = false;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
for (idx = 0; !ctrl_changed && idx < ctrl->elems; idx++)
|
|
|
ctrl_changed = !ctrl->type_ops->equal(ctrl, idx,
|
|
|
ctrl->p_cur, ctrl->p_new);
|