Commit f3b38dca authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: atomisp: use LINUX_VERSION_CODE for driver version

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: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent d1044776
...@@ -28,12 +28,6 @@ ...@@ -28,12 +28,6 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/version.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 */ /* struct media_device_info.hw_revision */
#define ATOMISP_HW_REVISION_MASK 0x0000ff00 #define ATOMISP_HW_REVISION_MASK 0x0000ff00
#define ATOMISP_HW_REVISION_SHIFT 8 #define ATOMISP_HW_REVISION_SHIFT 8
......
...@@ -75,15 +75,6 @@ ...@@ -75,15 +75,6 @@
#define ATOMISP_PCI_REV_MRFLD_A0_MAX 0 #define ATOMISP_PCI_REV_MRFLD_A0_MAX 0
#define ATOMISP_PCI_REV_BYT_A0_MAX 4 #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_WIDTH 2
#define ATOM_ISP_STEP_HEIGHT 2 #define ATOM_ISP_STEP_HEIGHT 2
......
...@@ -51,7 +51,6 @@ ...@@ -51,7 +51,6 @@
static const char *DRIVER = "atomisp"; /* max size 15 */ static const char *DRIVER = "atomisp"; /* max size 15 */
static const char *CARD = "ATOM ISP"; /* max size 31 */ static const char *CARD = "ATOM ISP"; /* max size 31 */
static const char *BUS_INFO = "PCI-3"; /* 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. * FIXME: ISP should not know beforehand all CIDs supported by sensor.
...@@ -562,8 +561,6 @@ static int atomisp_querycap(struct file *file, void *fh, ...@@ -562,8 +561,6 @@ static int atomisp_querycap(struct file *file, void *fh,
strncpy(cap->card, CARD, sizeof(cap->card) - 1); strncpy(cap->card, CARD, sizeof(cap->card) - 1);
strncpy(cap->bus_info, BUS_INFO, sizeof(cap->card) - 1); strncpy(cap->bus_info, BUS_INFO, sizeof(cap->card) - 1);
cap->version = VERSION;
cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_OUTPUT; V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_OUTPUT;
cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS; cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
......
...@@ -1253,8 +1253,7 @@ int atomisp_create_pads_links(struct atomisp_device *isp) ...@@ -1253,8 +1253,7 @@ int atomisp_create_pads_links(struct atomisp_device *isp)
{ {
struct atomisp_sub_device *asd; struct atomisp_sub_device *asd;
int i, j, ret = 0; int i, j, ret = 0;
isp->num_of_streams = isp->media_dev.driver_version >= isp->num_of_streams = 2;
ATOMISP_CSS_VERSION_20 ? 2 : 1;
for (i = 0; i < ATOMISP_CAMERA_NR_PORTS; i++) { for (i = 0; i < ATOMISP_CAMERA_NR_PORTS; i++) {
for (j = 0; j < isp->num_of_streams; j++) { for (j = 0; j < isp->num_of_streams; j++) {
ret = ret =
...@@ -1414,8 +1413,7 @@ int atomisp_subdev_init(struct atomisp_device *isp) ...@@ -1414,8 +1413,7 @@ int atomisp_subdev_init(struct atomisp_device *isp)
* CSS2.0 running ISP2400 support * CSS2.0 running ISP2400 support
* multiple streams * multiple streams
*/ */
isp->num_of_streams = isp->media_dev.driver_version >= isp->num_of_streams = 2;
ATOMISP_CSS_VERSION_20 ? 2 : 1;
isp->asd = devm_kzalloc(isp->dev, sizeof(struct atomisp_sub_device) * isp->asd = devm_kzalloc(isp->dev, sizeof(struct atomisp_sub_device) *
isp->num_of_streams, GFP_KERNEL); isp->num_of_streams, GFP_KERNEL);
if (!isp->asd) if (!isp->asd)
......
...@@ -1083,22 +1083,20 @@ atomisp_load_firmware(struct atomisp_device *isp) ...@@ -1083,22 +1083,20 @@ atomisp_load_firmware(struct atomisp_device *isp)
if (skip_fwload) if (skip_fwload)
return NULL; return NULL;
if (isp->media_dev.driver_version == ATOMISP_CSS_VERSION_21) { if (isp->media_dev.hw_revision ==
if (isp->media_dev.hw_revision == ((ATOMISP_HW_REVISION_ISP2401 << ATOMISP_HW_REVISION_SHIFT)
((ATOMISP_HW_REVISION_ISP2401 << ATOMISP_HW_REVISION_SHIFT) | ATOMISP_HW_STEPPING_A0))
| ATOMISP_HW_STEPPING_A0)) fw_path = "shisp_2401a0_v21.bin";
fw_path = "shisp_2401a0_v21.bin";
if (isp->media_dev.hw_revision ==
if (isp->media_dev.hw_revision == ((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT)
((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT) | ATOMISP_HW_STEPPING_A0))
| ATOMISP_HW_STEPPING_A0)) fw_path = "shisp_2401a0_legacy_v21.bin";
fw_path = "shisp_2401a0_legacy_v21.bin";
if (isp->media_dev.hw_revision ==
if (isp->media_dev.hw_revision == ((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT)
((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT) | ATOMISP_HW_STEPPING_B0))
| ATOMISP_HW_STEPPING_B0)) fw_path = "shisp_2400b0_v21.bin";
fw_path = "shisp_2400b0_v21.bin";
}
if (!fw_path) { if (!fw_path) {
dev_err(isp->dev, dev_err(isp->dev,
...@@ -1251,7 +1249,8 @@ static int atomisp_pci_probe(struct pci_dev *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. */ /* This is not a true PCI device on SoC, so the delay is not needed. */
isp->pdev->d3_delay = 0; 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) { switch (id->device & ATOMISP_PCI_DEVICE_SOC_MASK) {
case ATOMISP_PCI_DEVICE_SOC_MRFLD: case ATOMISP_PCI_DEVICE_SOC_MRFLD:
isp->media_dev.hw_revision = isp->media_dev.hw_revision =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment