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;