Add kernel driver version check in driver library

The driver library will now check that it's compatible with the kernel
driver in use by checking the kernel driver's version.

The kernel driver version has also been made available to the library
users and the Python wrapper has been updated accordingly.

Change-Id: Ieae8c0bfc323f945038e7264eceeab90c833f76d
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
diff --git a/driver_library/python/test/test_driver.py b/driver_library/python/test/test_driver.py
index 5496aed..e4e276a 100644
--- a/driver_library/python/test/test_driver.py
+++ b/driver_library/python/test/test_driver.py
@@ -1,5 +1,5 @@
 #
-# SPDX-FileCopyrightText: Copyright 2021-2022 Arm Limited and/or its affiliates <open-source-office@arm.com>
+# SPDX-FileCopyrightText: Copyright 2021-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
 # SPDX-License-Identifier: Apache-2.0
 #
 import pytest
@@ -177,3 +177,14 @@
     assert cap.hwId
     assert cap.hwCfg
     assert cap.driver
+
+@pytest.mark.parametrize('device_name', ['ethosu0'])
+def test_kernel_driver_version(device):
+    version = device.getDriverVersion()
+    zero_version = [0, 0, 0]
+    # Validate that a version was returned
+    assert zero_version != [version.major, version.minor, version.patch]
+    # Check that supported kernel driver major versions are available in Python API
+    assert driver.MAX_SUPPORTED_KERNEL_DRIVER_MAJOR_VERSION
+    assert driver.MIN_SUPPORTED_KERNEL_DRIVER_MAJOR_VERSION
+