Add specific version number constants to Camera HAL.
These constants should be used by HAL implementations to indicate
which versions of the module and device APIs they support.
Change-Id: I4b6eae278481545694e6a1827833b5958c26720c
diff --git a/include/hardware/camera_common.h b/include/hardware/camera_common.h
index 0a13d5c..593cd5f 100644
--- a/include/hardware/camera_common.h
+++ b/include/hardware/camera_common.h
@@ -41,7 +41,7 @@
* the minor version.
*
*******************************************************************************
- * Versions: 0.X-1.X
+ * Versions: 0.X - 1.X [CAMERA_MODULE_API_VERSION_1_0]
*
* Camera modules that report these version numbers implement the initial
* camera module HAL interface. All camera devices openable through this
@@ -51,7 +51,7 @@
* devices.
*
*******************************************************************************
- * Version: 2.0
+ * Version: 2.0 [CAMERA_MODULE_API_VERSION_2_0]
*
* Camera modules that report this version number implement the second version
* of the camera module HAL interface. Camera devices openable through this
@@ -61,10 +61,28 @@
* device_version field is 2.0 or higher.
*/
+/**
+ * Predefined macros for currently-defined version numbers
+ */
-#define CAMERA_MODULE_API_VERSION HARDWARE_MODULE_API_VERSION(2, 0)
-// Stable version for device, version 2.0 is experimental
-#define CAMERA_DEVICE_API_VERSION HARDWARE_DEVICE_API_VERSION(1, 0)
+/**
+ * All module versions <= HARDWARE_MODULE_API_VERSION(1, 0xFF) must be treated
+ * as CAMERA_MODULE_API_VERSION_1_0
+ */
+#define CAMERA_MODULE_API_VERSION_1_0 HARDWARE_MODULE_API_VERSION(1, 0)
+#define CAMERA_MODULE_API_VERSION_2_0 HARDWARE_MODULE_API_VERSION(2, 0)
+
+#define CAMERA_MODULE_API_VERSION_CURRENT CAMERA_MODULE_API_VERSION_2_0
+
+/**
+ * All device versions <= HARDWARE_DEVICE_API_VERSION(1, 0xFF) must be treated
+ * as CAMERA_DEVICE_API_VERSION_1_0
+ */
+#define CAMERA_DEVICE_API_VERSION_1_0 HARDWARE_DEVICE_API_VERSION(1, 0)
+#define CAMERA_DEVICE_API_VERSION_2_0 HARDWARE_DEVICE_API_VERSION(2, 0)
+
+// Device version 2.0 is experimental
+#define CAMERA_DEVICE_API_VERSION_CURRENT CAMERA_DEVICE_API_VERSION_1_0
/**
* Defined in /system/media/camera/include/camera_metadata.h
@@ -103,12 +121,12 @@
*
* Version information (based on camera_module_t.common.module_api_version):
*
- * HARDWARE_MODULE_API_VERSION(0, 0)-(1, FF):
+ * CAMERA_MODULE_API_VERSION_1_0:
*
- * Not valid. Can be assumed to be HARDWARE_DEVICE_API_VERSION(1,0). Do
+ * Not valid. Can be assumed to be CAMERA_DEVICE_API_VERSION_1_0. Do
* not read this field.
*
- * HARDWARE_MODULE_API_VERSION(2, 0):
+ * CAMERA_MODULE_API_VERSION_2_0:
*
* Always valid
*
@@ -121,15 +139,15 @@
*
* Version information (based on camera_module_t.common.module_api_version):
*
- * HARDWARE_MODULE_API_VERSION(0, 0)-(1, FF):
+ * CAMERA_MODULE_API_VERSION_1_0:
*
* Not valid. Extra characteristics are not available. Do not read this
* field.
*
- * HARDWARE_MODULE_API_VERSION(2, 0):
+ * CAMERA_MODULE_API_VERSION_2_0:
*
- * Valid if device_version >= HARDWARE_DEVICE_API_VERSION(2,0). Do not
- * read otherwise.
+ * Valid if device_version >= CAMERA_DEVICE_API_VERSION_2_0. Do not read
+ * otherwise.
*
*/
camera_metadata_t *static_camera_characteristics;