diff --git a/include/hardware/sensors-base.h b/include/hardware/sensors-base.h
index b0f6223..a87cf52 100644
--- a/include/hardware/sensors-base.h
+++ b/include/hardware/sensors-base.h
@@ -1,6 +1,6 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 // Source: android.hardware.sensors@1.0
-// Root: android.hardware:hardware/interfaces
+// Location: hardware/interfaces/sensors/1.0/
 
 #ifndef HIDL_GENERATED_ANDROID_HARDWARE_SENSORS_V1_0_EXPORTED_CONSTANTS_H_
 #define HIDL_GENERATED_ANDROID_HARDWARE_SENSORS_V1_0_EXPORTED_CONSTANTS_H_
@@ -51,23 +51,23 @@
     SENSOR_TYPE_ADDITIONAL_INFO = 33,
     SENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT = 34,
     SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED = 35,
-    SENSOR_TYPE_DEVICE_PRIVATE_BASE = 65536, // 0x10000
+    SENSOR_TYPE_DEVICE_PRIVATE_BASE = 65536 /* 0x10000 */,
 };
 
 enum {
-    SENSOR_FLAG_WAKE_UP = 1u, // 1
-    SENSOR_FLAG_CONTINUOUS_MODE = 0u, // 0
-    SENSOR_FLAG_ON_CHANGE_MODE = 2u, // 2
-    SENSOR_FLAG_ONE_SHOT_MODE = 4u, // 4
-    SENSOR_FLAG_SPECIAL_REPORTING_MODE = 6u, // 6
-    SENSOR_FLAG_DATA_INJECTION = 16u, // 0x10
-    SENSOR_FLAG_DYNAMIC_SENSOR = 32u, // 0x20
-    SENSOR_FLAG_ADDITIONAL_INFO = 64u, // 0x40
-    SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM = 1024u, // 0x400
-    SENSOR_FLAG_DIRECT_CHANNEL_GRALLOC = 2048u, // 0x800
-    SENSOR_FLAG_MASK_REPORTING_MODE = 14u, // 0xE
-    SENSOR_FLAG_MASK_DIRECT_REPORT = 896u, // 0x380
-    SENSOR_FLAG_MASK_DIRECT_CHANNEL = 3072u, // 0xC00
+    SENSOR_FLAG_WAKE_UP = 1u,
+    SENSOR_FLAG_CONTINUOUS_MODE = 0u,
+    SENSOR_FLAG_ON_CHANGE_MODE = 2u,
+    SENSOR_FLAG_ONE_SHOT_MODE = 4u,
+    SENSOR_FLAG_SPECIAL_REPORTING_MODE = 6u,
+    SENSOR_FLAG_DATA_INJECTION = 16u /* 0x10 */,
+    SENSOR_FLAG_DYNAMIC_SENSOR = 32u /* 0x20 */,
+    SENSOR_FLAG_ADDITIONAL_INFO = 64u /* 0x40 */,
+    SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM = 1024u /* 0x400 */,
+    SENSOR_FLAG_DIRECT_CHANNEL_GRALLOC = 2048u /* 0x800 */,
+    SENSOR_FLAG_MASK_REPORTING_MODE = 14u /* 0xE */,
+    SENSOR_FLAG_MASK_DIRECT_REPORT = 896u /* 0x380 */,
+    SENSOR_FLAG_MASK_DIRECT_CHANNEL = 3072u /* 0xC00 */,
 };
 
 typedef enum {
@@ -80,7 +80,7 @@
 } sensor_flag_shift_t;
 
 enum {
-    SENSOR_STATUS_NO_CONTACT = -1, // (-1)
+    SENSOR_STATUS_NO_CONTACT = -1 /* (-1) */,
     SENSOR_STATUS_UNRELIABLE = 0,
     SENSOR_STATUS_ACCURACY_LOW = 1,
     SENSOR_STATUS_ACCURACY_MEDIUM = 2,
@@ -88,42 +88,42 @@
 };
 
 enum {
-    META_DATA_FLUSH_COMPLETE = 1u, // 1
+    META_DATA_FLUSH_COMPLETE = 1u,
 };
 
 typedef enum {
-    AINFO_BEGIN = 0u, // 0
-    AINFO_END = 1u, // 1
-    AINFO_UNTRACKED_DELAY = 65536u, // 0x10000
-    AINFO_INTERNAL_TEMPERATURE = 65537u, // 65537
-    AINFO_VEC3_CALIBRATION = 65538u, // 65538
-    AINFO_SENSOR_PLACEMENT = 65539u, // 65539
-    AINFO_SAMPLING = 65540u, // 65540
-    AINFO_CHANNEL_NOISE = 131072u, // 0x20000
-    AINFO_CHANNEL_SAMPLER = 131073u, // 131073
-    AINFO_CHANNEL_FILTER = 131074u, // 131074
-    AINFO_CHANNEL_LINEAR_TRANSFORM = 131075u, // 131075
-    AINFO_CHANNEL_NONLINEAR_MAP = 131076u, // 131076
-    AINFO_CHANNEL_RESAMPLER = 131077u, // 131077
-    AINFO_LOCAL_GEOMAGNETIC_FIELD = 196608u, // 0x30000
-    AINFO_LOCAL_GRAVITY = 196609u, // 196609
-    AINFO_DOCK_STATE = 196610u, // 196610
-    AINFO_HIGH_PERFORMANCE_MODE = 196611u, // 196611
-    AINFO_MAGNETIC_FIELD_CALIBRATION = 196612u, // 196612
-    AINFO_CUSTOM_START = 268435456u, // 0x10000000
-    AINFO_DEBUGGING_START = 1073741824u, // 0x40000000
+    AINFO_BEGIN = 0u,
+    AINFO_END = 1u,
+    AINFO_UNTRACKED_DELAY = 65536u /* 0x10000 */,
+    AINFO_INTERNAL_TEMPERATURE = 65537u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_UNTRACKED_DELAY implicitly + 1) */,
+    AINFO_VEC3_CALIBRATION = 65538u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_INTERNAL_TEMPERATURE implicitly + 1) */,
+    AINFO_SENSOR_PLACEMENT = 65539u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_VEC3_CALIBRATION implicitly + 1) */,
+    AINFO_SAMPLING = 65540u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_SENSOR_PLACEMENT implicitly + 1) */,
+    AINFO_CHANNEL_NOISE = 131072u /* 0x20000 */,
+    AINFO_CHANNEL_SAMPLER = 131073u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_CHANNEL_NOISE implicitly + 1) */,
+    AINFO_CHANNEL_FILTER = 131074u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_CHANNEL_SAMPLER implicitly + 1) */,
+    AINFO_CHANNEL_LINEAR_TRANSFORM = 131075u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_CHANNEL_FILTER implicitly + 1) */,
+    AINFO_CHANNEL_NONLINEAR_MAP = 131076u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_CHANNEL_LINEAR_TRANSFORM implicitly + 1) */,
+    AINFO_CHANNEL_RESAMPLER = 131077u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_CHANNEL_NONLINEAR_MAP implicitly + 1) */,
+    AINFO_LOCAL_GEOMAGNETIC_FIELD = 196608u /* 0x30000 */,
+    AINFO_LOCAL_GRAVITY = 196609u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_LOCAL_GEOMAGNETIC_FIELD implicitly + 1) */,
+    AINFO_DOCK_STATE = 196610u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_LOCAL_GRAVITY implicitly + 1) */,
+    AINFO_HIGH_PERFORMANCE_MODE = 196611u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_DOCK_STATE implicitly + 1) */,
+    AINFO_MAGNETIC_FIELD_CALIBRATION = 196612u /* (::android::hardware::sensors::V1_0::AdditionalInfoType.AINFO_HIGH_PERFORMANCE_MODE implicitly + 1) */,
+    AINFO_CUSTOM_START = 268435456u /* 0x10000000 */,
+    AINFO_DEBUGGING_START = 1073741824u /* 0x40000000 */,
 } additional_info_type_t;
 
 typedef enum {
     SENSOR_DIRECT_RATE_STOP = 0,
-    SENSOR_DIRECT_RATE_NORMAL = 1,
-    SENSOR_DIRECT_RATE_FAST = 2,
-    SENSOR_DIRECT_RATE_VERY_FAST = 3,
+    SENSOR_DIRECT_RATE_NORMAL = 1 /* (::android::hardware::sensors::V1_0::RateLevel.STOP implicitly + 1) */,
+    SENSOR_DIRECT_RATE_FAST = 2 /* (::android::hardware::sensors::V1_0::RateLevel.NORMAL implicitly + 1) */,
+    SENSOR_DIRECT_RATE_VERY_FAST = 3 /* (::android::hardware::sensors::V1_0::RateLevel.FAST implicitly + 1) */,
 } direct_rate_level_t;
 
 typedef enum {
     SENSOR_DIRECT_MEM_TYPE_ASHMEM = 1,
-    SENSOR_DIRECT_MEM_TYPE_GRALLOC = 2,
+    SENSOR_DIRECT_MEM_TYPE_GRALLOC = 2 /* (::android::hardware::sensors::V1_0::SharedMemType.ASHMEM implicitly + 1) */,
 } direct_mem_type_t;
 
 typedef enum {
