This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-utils.git tree:

Subject: v4l2-compliance: add tests for bitmask controls.
Author:  Hans Verkuil <[email protected]>
Date:    Thu Jul 28 11:13:56 2011 +0200

Signed-off-by: Hans Verkuil <[email protected]>
(cherry picked from commit 8d816d73063961ca449cfe5a9e236f59665d57da)

 utils/v4l2-compliance/v4l2-test-controls.cpp |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

---

http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=f7d42c88e230767a6b5a7330cd5a8771a489af97

diff --git a/utils/v4l2-compliance/v4l2-test-controls.cpp 
b/utils/v4l2-compliance/v4l2-test-controls.cpp
index 35e2aec..5f1b5a0 100644
--- a/utils/v4l2-compliance/v4l2-test-controls.cpp
+++ b/utils/v4l2-compliance/v4l2-test-controls.cpp
@@ -87,6 +87,16 @@ static int checkQCtrl(struct node *node, struct 
test_queryctrl &qctrl)
                        warn("%s: (max - min) %% step != 0\n", qctrl.name);
                }
                break;
+       case V4L2_CTRL_TYPE_BITMASK:
+               if (qctrl.minimum)
+                       return fail("minimum must be 0 for a bitmask 
control\n");
+               if (qctrl.step)
+                       return fail("step must be 0 for a bitmask control\n");
+               if (!qctrl.maximum)
+                       return fail("maximum must be non-zero for a bitmask 
control\n");
+               if (qctrl.default_value & ~qctrl.maximum)
+                       return fail("default_value is out of range for a 
bitmask control\n");
+               break;
        case V4L2_CTRL_TYPE_CTRL_CLASS:
        case V4L2_CTRL_TYPE_INTEGER64:
        case V4L2_CTRL_TYPE_BUTTON:
@@ -106,6 +116,7 @@ static int checkQCtrl(struct node *node, struct 
test_queryctrl &qctrl)
        case V4L2_CTRL_TYPE_BOOLEAN:
        case V4L2_CTRL_TYPE_MENU:
        case V4L2_CTRL_TYPE_STRING:
+       case V4L2_CTRL_TYPE_BITMASK:
                if (fl & V4L2_CTRL_FLAG_SLIDER)
                        return fail("slider makes only sense for integer 
controls\n");
                /* fall through */
@@ -284,6 +295,10 @@ static int checkSimpleCtrl(struct v4l2_control &ctrl, 
struct test_queryctrl &qct
                                        qctrl.name, ctrl.value);
                }
                break;
+       case V4L2_CTRL_TYPE_BITMASK:
+               if (ctrl.value & ~qctrl.maximum)
+                       return fail("returned control value out of range\n");
+               break;
        case V4L2_CTRL_TYPE_BUTTON:
                break;
        default:
@@ -444,6 +459,10 @@ static int checkExtendedCtrl(struct v4l2_ext_control 
&ctrl, struct test_queryctr
                                        qctrl.name, ctrl.value);
                }
                break;
+       case V4L2_CTRL_TYPE_BITMASK:
+               if (ctrl.value & ~qctrl.maximum)
+                       return fail("returned control value out of range\n");
+               break;
        case V4L2_CTRL_TYPE_BUTTON:
                break;
        case V4L2_CTRL_TYPE_STRING:

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to