V4L/DVB (12144): radio-si470x: removed v4l2_queryctrl in favor of v4l2_ctrl_query_fill
authorTobias Lorenz <tobias.lorenz@gmx.net>
Sat, 20 Jun 2009 22:17:30 +0000 (19:17 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 12 Sep 2009 15:17:12 +0000 (12:17 -0300)
Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/radio/radio-si470x.c

index 179ee86ec9229f3617804feb9dee4a3033f20fbf..6710e3f588678220afcb3fa00c2825713066c2f9 100644 (file)
@@ -1241,31 +1241,6 @@ static const struct v4l2_file_operations si470x_fops = {
  * Video4Linux Interface
  **************************************************************************/
 
-/*
- * si470x_v4l2_queryctrl - query control
- */
-static struct v4l2_queryctrl si470x_v4l2_queryctrl[] = {
-       {
-               .id             = V4L2_CID_AUDIO_VOLUME,
-               .type           = V4L2_CTRL_TYPE_INTEGER,
-               .name           = "Volume",
-               .minimum        = 0,
-               .maximum        = 15,
-               .step           = 1,
-               .default_value  = 15,
-       },
-       {
-               .id             = V4L2_CID_AUDIO_MUTE,
-               .type           = V4L2_CTRL_TYPE_BOOLEAN,
-               .name           = "Mute",
-               .minimum        = 0,
-               .maximum        = 1,
-               .step           = 1,
-               .default_value  = 1,
-       },
-};
-
-
 /*
  * si470x_vidioc_querycap - query device capabilities
  */
@@ -1291,7 +1266,6 @@ static int si470x_vidioc_querycap(struct file *file, void *priv,
 static int si470x_vidioc_queryctrl(struct file *file, void *priv,
                struct v4l2_queryctrl *qc)
 {
-       unsigned char i = 0;
        int retval = -EINVAL;
 
        /* abort if qc->id is below V4L2_CID_BASE */
@@ -1299,12 +1273,11 @@ static int si470x_vidioc_queryctrl(struct file *file, void *priv,
                goto done;
 
        /* search video control */
-       for (i = 0; i < ARRAY_SIZE(si470x_v4l2_queryctrl); i++) {
-               if (qc->id == si470x_v4l2_queryctrl[i].id) {
-                       memcpy(qc, &(si470x_v4l2_queryctrl[i]), sizeof(*qc));
-                       retval = 0; /* found */
-                       break;
-               }
+       switch (qc->id) {
+       case V4L2_CID_AUDIO_VOLUME:
+               return v4l2_ctrl_query_fill(qc, 0, 15, 1, 15);
+       case V4L2_CID_AUDIO_MUTE:
+               return v4l2_ctrl_query_fill(qc, 0, 1, 1, 1);
        }
 
        /* disable unsupported base controls */