V4L/DVB (13448): gspca - main: Add a gspca flag for inactive controls.
authorJean-Francois Moine <moinejf@free.fr>
Thu, 12 Nov 2009 18:59:27 +0000 (15:59 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:41:57 +0000 (18:41 -0200)
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/gspca.c
drivers/media/video/gspca/gspca.h

index 6915db2d36db396fbbd4cf5ea59a3af7b164425a..369eddd352c352fd5647b9ed1411e9fb9ae47c81 100644 (file)
@@ -1158,10 +1158,13 @@ static int vidioc_queryctrl(struct file *file, void *priv,
                }
        } else {
                ctrls = get_ctrl(gspca_dev, id);
+               i = ctrls - gspca_dev->sd_desc->ctrls;
        }
        if (ctrls == NULL)
                return -EINVAL;
        memcpy(q_ctrl, ctrls, sizeof *q_ctrl);
+       if (gspca_dev->ctrl_inac & (1 << i))
+               q_ctrl->flags |= V4L2_CTRL_FLAG_INACTIVE;
        return 0;
 }
 
index 1d761d7cefc6d6b822c58cd9035ad89ebf4634a9..d59a684056ca9f230e70f2a1e7bb34203e8200d7 100644 (file)
@@ -143,6 +143,7 @@ struct gspca_dev {
        struct cam cam;                         /* device information */
        const struct sd_desc *sd_desc;          /* subdriver description */
        unsigned ctrl_dis;              /* disabled controls (bit map) */
+       unsigned ctrl_inac;             /* inactive controls (bit map) */
 
 #define USB_BUF_SZ 64
        __u8 *usb_buf;                          /* buffer for USB exchanges */
This page took 0.027686 seconds and 5 git commands to generate.