[media] solo6x10: fix querycap and update driver version
authorHans Verkuil <hans.verkuil@cisco.com>
Tue, 12 Mar 2013 21:03:20 +0000 (18:03 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 25 Mar 2013 11:26:07 +0000 (08:26 -0300)
Setup correct bus_info, let the v4l2 core set the version and add device_caps
support.
Also update the module version to 3.0.0 since this is a major upgrade.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/staging/media/solo6x10/solo6x10.h
drivers/staging/media/solo6x10/v4l2-enc.c
drivers/staging/media/solo6x10/v4l2.c

index a75d9395b7b130e7ae1deb7e28ed69368c187929..d8d61deb72372548f52ceae2a78361634cc734a7 100644 (file)
 
 #define SOLO_MAX_CHANNELS              16
 
-/* Make sure these two match */
-#define SOLO6X10_VER_MAJOR             2
-#define SOLO6X10_VER_MINOR             4
-#define SOLO6X10_VER_SUB               4
-#define SOLO6X10_VER_NUM \
-       KERNEL_VERSION(SOLO6X10_VER_MAJOR, SOLO6X10_VER_MINOR, SOLO6X10_VER_SUB)
-#define SOLO6X10_VERSION \
-       __stringify(SOLO6X10_VER_MAJOR) "." \
-       __stringify(SOLO6X10_VER_MINOR) "." \
-       __stringify(SOLO6X10_VER_SUB)
+#define SOLO6X10_VERSION               "3.0.0"
 
 /*
  * The SOLO6x10 actually has 8 i2c channels, but we only use 2.
index bb4d60a4c72352e4a353f732239ce4c28f626552..bb5f1b82ddcdfc0cb9c9e53905de5243fa6845c5 100644 (file)
@@ -991,12 +991,11 @@ static int solo_enc_querycap(struct file *file, void  *priv,
        strcpy(cap->driver, SOLO6X10_NAME);
        snprintf(cap->card, sizeof(cap->card), "Softlogic 6x10 Enc %d",
                 solo_enc->ch);
-       snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI %s",
+       snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
                 pci_name(solo_dev->pdev));
-       cap->version = SOLO6X10_VER_NUM;
-       cap->capabilities =     V4L2_CAP_VIDEO_CAPTURE |
-                               V4L2_CAP_READWRITE |
-                               V4L2_CAP_STREAMING;
+       cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
+                       V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
+       cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
        return 0;
 }
 
index ba603ce1f7460c53429411b379d8568d3358ff2a..70da9e2187d2853f216264d58911d60489f3e048 100644 (file)
@@ -476,12 +476,11 @@ static int solo_querycap(struct file *file, void  *priv,
 
        strcpy(cap->driver, SOLO6X10_NAME);
        strcpy(cap->card, "Softlogic 6x10");
-       snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI %s",
+       snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
                 pci_name(solo_dev->pdev));
-       cap->version = SOLO6X10_VER_NUM;
-       cap->capabilities =     V4L2_CAP_VIDEO_CAPTURE |
-                               V4L2_CAP_READWRITE |
-                               V4L2_CAP_STREAMING;
+       cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
+                       V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
+       cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
        return 0;
 }