media: atomisp: use LINUX_VERSION_CODE for driver version
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Sat, 24 Jun 2017 20:40:27 +0000 (16:40 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 20 Jul 2017 20:22:16 +0000 (16:22 -0400)
The atomisp subdev driver hardcodes its version to
ATOMISP_CSS_VERSION_21. Yet, it has several tests for versions
below 21 internally, with sounds really odd.

On all other media drivers, we're just keeping version set to
LINUX_VERSION_CODE.

So, do the same here, simplifying the code a little bit.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/staging/media/atomisp/include/linux/atomisp.h
drivers/staging/media/atomisp/pci/atomisp2/atomisp_internal.h
drivers/staging/media/atomisp/pci/atomisp2/atomisp_ioctl.c
drivers/staging/media/atomisp/pci/atomisp2/atomisp_subdev.c
drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c

index 35865462ccf9da318a21b4bf6895c6c370fdb8bb..d67dd658cff9e83dd627eb598abe840bdd911f50 100644 (file)
 #include <linux/types.h>
 #include <linux/version.h>
 
-/* struct media_device_info.driver_version */
-#define ATOMISP_CSS_VERSION_MASK       0x00ffffff
-#define ATOMISP_CSS_VERSION_15         KERNEL_VERSION(1, 5, 0)
-#define ATOMISP_CSS_VERSION_20         KERNEL_VERSION(2, 0, 0)
-#define ATOMISP_CSS_VERSION_21         KERNEL_VERSION(2, 1, 0)
-
 /* struct media_device_info.hw_revision */
 #define ATOMISP_HW_REVISION_MASK       0x0000ff00
 #define ATOMISP_HW_REVISION_SHIFT      8
index afced4f4eb6a1c05c908e471bdd6de542f51f4fd..3c48bfa92c129d58ad693e053ce619ed30bb870a 100644 (file)
 #define ATOMISP_PCI_REV_MRFLD_A0_MAX   0
 #define ATOMISP_PCI_REV_BYT_A0_MAX     4
 
-#define ATOMISP_MAJOR          0
-#define ATOMISP_MINOR          5
-#define ATOMISP_PATCHLEVEL     1
-
-#define DRIVER_VERSION_STR     __stringify(ATOMISP_MAJOR) \
-       "." __stringify(ATOMISP_MINOR) "." __stringify(ATOMISP_PATCHLEVEL)
-#define DRIVER_VERSION         KERNEL_VERSION(ATOMISP_MAJOR, \
-       ATOMISP_MINOR, ATOMISP_PATCHLEVEL)
-
 #define ATOM_ISP_STEP_WIDTH    2
 #define ATOM_ISP_STEP_HEIGHT   2
 
index aa0526ebaff144b7c15f6e28f5877ba9f935df58..717647951fb6361bee44713444e0b0f4875b06ce 100644 (file)
@@ -51,7 +51,6 @@
 static const char *DRIVER = "atomisp"; /* max size 15 */
 static const char *CARD = "ATOM ISP";  /* max size 31 */
 static const char *BUS_INFO = "PCI-3"; /* max size 31 */
-static const u32 VERSION = DRIVER_VERSION;
 
 /*
  * FIXME: ISP should not know beforehand all CIDs supported by sensor.
@@ -562,8 +561,6 @@ static int atomisp_querycap(struct file *file, void *fh,
        strncpy(cap->card, CARD, sizeof(cap->card) - 1);
        strncpy(cap->bus_info, BUS_INFO, sizeof(cap->card) - 1);
 
-       cap->version = VERSION;
-
        cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
            V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_OUTPUT;
        cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
index 3d6bb166927c17f6fd231d0af0577337f03b83d4..744ab6eb42a0fb3f9c5f64a0b1ba7dff67a68712 100644 (file)
@@ -1253,8 +1253,7 @@ int atomisp_create_pads_links(struct atomisp_device *isp)
 {
        struct atomisp_sub_device *asd;
        int i, j, ret = 0;
-       isp->num_of_streams = isp->media_dev.driver_version >=
-           ATOMISP_CSS_VERSION_20 ? 2 : 1;
+       isp->num_of_streams = 2;
        for (i = 0; i < ATOMISP_CAMERA_NR_PORTS; i++) {
                for (j = 0; j < isp->num_of_streams; j++) {
                        ret =
@@ -1414,8 +1413,7 @@ int atomisp_subdev_init(struct atomisp_device *isp)
         * CSS2.0 running ISP2400 support
         * multiple streams
         */
-       isp->num_of_streams = isp->media_dev.driver_version >=
-           ATOMISP_CSS_VERSION_20 ? 2 : 1;
+       isp->num_of_streams = 2;
        isp->asd = devm_kzalloc(isp->dev, sizeof(struct atomisp_sub_device) *
                               isp->num_of_streams, GFP_KERNEL);
        if (!isp->asd)
index a543def739fc61ccbcb5a46a87b141f3f796e9d1..2f49562377e6c6526ffad00c95518da050736e89 100644 (file)
@@ -1083,22 +1083,20 @@ atomisp_load_firmware(struct atomisp_device *isp)
        if (skip_fwload)
                return NULL;
 
-       if (isp->media_dev.driver_version == ATOMISP_CSS_VERSION_21) {
-               if (isp->media_dev.hw_revision ==
-                   ((ATOMISP_HW_REVISION_ISP2401 << ATOMISP_HW_REVISION_SHIFT)
-                    | ATOMISP_HW_STEPPING_A0))
-                       fw_path = "shisp_2401a0_v21.bin";
-
-               if (isp->media_dev.hw_revision ==
-                   ((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT)
-                    | ATOMISP_HW_STEPPING_A0))
-                       fw_path = "shisp_2401a0_legacy_v21.bin";
-
-               if (isp->media_dev.hw_revision ==
-                   ((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT)
-                    | ATOMISP_HW_STEPPING_B0))
-                       fw_path = "shisp_2400b0_v21.bin";
-       }
+       if (isp->media_dev.hw_revision ==
+           ((ATOMISP_HW_REVISION_ISP2401 << ATOMISP_HW_REVISION_SHIFT)
+            | ATOMISP_HW_STEPPING_A0))
+               fw_path = "shisp_2401a0_v21.bin";
+
+       if (isp->media_dev.hw_revision ==
+           ((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT)
+            | ATOMISP_HW_STEPPING_A0))
+               fw_path = "shisp_2401a0_legacy_v21.bin";
+
+       if (isp->media_dev.hw_revision ==
+           ((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT)
+            | ATOMISP_HW_STEPPING_B0))
+               fw_path = "shisp_2400b0_v21.bin";
 
        if (!fw_path) {
                dev_err(isp->dev,
@@ -1251,7 +1249,8 @@ static int atomisp_pci_probe(struct pci_dev *dev,
        /* This is not a true PCI device on SoC, so the delay is not needed. */
        isp->pdev->d3_delay = 0;
 
-       isp->media_dev.driver_version = ATOMISP_CSS_VERSION_21;
+       isp->media_dev.driver_version = LINUX_VERSION_CODE;
+
        switch (id->device & ATOMISP_PCI_DEVICE_SOC_MASK) {
        case ATOMISP_PCI_DEVICE_SOC_MRFLD:
                isp->media_dev.hw_revision =