OSDN Git Service

[media] media/usb,pci: fix querycap
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 24 Nov 2014 09:37:23 +0000 (06:37 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 2 Dec 2014 13:30:34 +0000 (11:30 -0200)
Querycap shouldn't set the version field (the core does that for you),
but it should set the device_caps field.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/pci/meye/meye.c
drivers/media/pci/zoran/zoran_driver.c
drivers/media/usb/usbvision/usbvision-video.c

index aeae547..9d9f90c 100644 (file)
@@ -1031,9 +1031,6 @@ static int vidioc_querycap(struct file *file, void *fh,
        strcpy(cap->card, "meye");
        sprintf(cap->bus_info, "PCI:%s", pci_name(meye.mchip_dev));
 
-       cap->version = (MEYE_DRIVER_MAJORVERSION << 8) +
-                      MEYE_DRIVER_MINORVERSION;
-
        cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
                            V4L2_CAP_STREAMING;
        cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
index 099d5fb..2b25d31 100644 (file)
@@ -1528,8 +1528,9 @@ static int zoran_querycap(struct file *file, void *__fh, struct v4l2_capability
        strncpy(cap->driver, "zoran", sizeof(cap->driver)-1);
        snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
                 pci_name(zr->pci_dev));
-       cap->capabilities = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE |
-                           V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_VIDEO_OVERLAY;
+       cap->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE |
+                          V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_VIDEO_OVERLAY;
+       cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
        return 0;
 }
 
index 9bfa041..693d5f4 100644 (file)
@@ -509,11 +509,12 @@ static int vidioc_querycap(struct file *file, void  *priv,
                usbvision_device_data[usbvision->dev_model].model_string,
                sizeof(vc->card));
        usb_make_path(usbvision->dev, vc->bus_info, sizeof(vc->bus_info));
-       vc->capabilities = V4L2_CAP_VIDEO_CAPTURE |
+       vc->device_caps = V4L2_CAP_VIDEO_CAPTURE |
                V4L2_CAP_AUDIO |
                V4L2_CAP_READWRITE |
                V4L2_CAP_STREAMING |
                (usbvision->have_tuner ? V4L2_CAP_TUNER : 0);
+       vc->capabilities = vc->device_caps | V4L2_CAP_DEVICE_CAPS;
        return 0;
 }