Merge changes from topic 'am-076e19197ae1450594f07abb18015a3a'

* changes:
  wifi: Remove passthrough mode am: 23f9f30344 am: 23baa7c2a8 am: 1f61ab5b10 am: 64d33efebb
  wifi: Stub implementation of WifiNanIface methods am: 0c92d446a2 am: 9fe32608f5 am: da29240c74 am: 7d46028607
  wifi: Stub implementation of WifiRttController methods am: 7913f5e49d am: ee5137a3d1 am: 2081143b68 am: 969c1258f5
  wifi: Stub implementation of WifiStaIface methods am: a04ba3fcb8 am: e65ad43046 am: 542e9b0b90 am: 5e4acfea27
  wifi: Stub implementation of WifiChip methods am: 7d08d7a16d am: 3e8793aadf am: eb00f23344 am: 374a7051c1
  wifi: Use hidl_return_util functions in Iface/Rtt am: 907d4a234d am: dd5c2b8990 am: e3e14bee9c am: c3ecc0d471
  wifi: Use hidl_return_util functions in WifiChip am: 3c86852a2e am: 7022158220 am: 01f66f52f2 am: 81b9b0661a
  wifi: Helper functions for invoking hidl cont callbacks am: 5647665827 am: 1ab8395a21 am: 8a9ab30d5c am: 5d599a8db9
  wifi: Make methods deliver status synchronously (3/3) am: 734fea0d98 am: 815e61624f am: 8e951f23c6 am: 0f3073b993
  wifi: Make methods deliver status synchronously (2/3) am: 5c05546fc9 am: dbfb6017fb am: 611487ebb7 am: 4473d43587
  wifi: Make methods deliver status synchronously (1/3) am: 503582ed94 am: 40dac08a47 am: f3b2c4ab07 am: cbd64bc7cb
  wifi: Rename failure_reason_util to wifi_status_util am: 1922482a5c am: 5aaf00608a am: e9d9899587 am: af2f0844f1
  wifi(interface): Add status for all methods am: 02caa1b821 am: bedd03bc48 am: 6a908348b3 am: 487d5662bb
  wifi(interface): Add wifi host debug wake up reason stats am: e0724f98b0 am: 3dd396eb5e am: 75ea50e963 am: 1f5a986e30
  wifi(interface): Add wifi debug packet fate related interface am: fe9ad36cb2 am: 17fe2cc0e4 am: ed5be10c54 am: d2ac24a25f
  wifi(interface): Add wifi debug ring buffer related interface am: e3a02b07b6 am: ae8029852e am: 4f4a3729af am: 1d176f5a9e
  wifi(interface): Move all StaIface types to types.hal am: 5e25466ebf am: c4b36d8100 am: 80cb8bd1a9 am: d2e53fed46
  wifi(interface): Fix compilation failure am: e03f736ca0 am: 55aee95115 am: 219f010a3d am: 041db52a91
  wifi(interface): Rtt controller HIDL interface am: 18eec81adc am: 4c0a4e5ae4 am: b5db64a5c7 am: e88ab12895
  wifi(interface): NAN HIDL interface am: 120f94c594 am: ea3058f9c1 am: 9fa7e1ccdb am: 90bb209b2f
  wifi(interface): Link layer stats collection am: 18680b7aff am: d195f76d21 am: f958bb37e7 am: 10aa798b84
  wifi(interface): Make methods synchronous am: a52dc7322d am: 0f0a37f375 am: 9658a13c46 am: f90a6e422a
  wifi(interface): Add status for every method am: 1f9073cfcb am: 556482ab99 am: c6d8510413 am: 7faee98fc3
  wifi(interface): Add gscan/apf related API's am: 7b77747bb5 am: 1f212a6566 am: b5e5302fe9 am: 3e37a67100
diff --git a/light/2.0/vts/Android.mk b/light/2.0/vts/Android.mk
new file mode 100644
index 0000000..a8c8c20
--- /dev/null
+++ b/light/2.0/vts/Android.mk
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+# build VTS driver for Light v2.0.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_driver_hidl_light@2.0
+
+LOCAL_SRC_FILES := \
+    Light.vts \
+    types.vts \
+
+LOCAL_SHARED_LIBRARIES += \
+    android.hardware.light@2.0 \
+    libbase \
+    libutils \
+    libcutils \
+    liblog \
+    libhidl \
+    libhwbinder \
+    libprotobuf-cpp-full \
+    libvts_common \
+    libvts_datatype \
+    libvts_measurement \
+    libvts_multidevice_proto
+
+LOCAL_CFLAGS += -DENABLE_TREBLE
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/light/2.0/vts/Light.vts b/light/2.0/vts/Light.vts
new file mode 100644
index 0000000..5d49822
--- /dev/null
+++ b/light/2.0/vts/Light.vts
@@ -0,0 +1,37 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "ILight"
+
+package: "android.hardware.light"
+
+import: "android.hardware.light@2.0::types"
+
+interface: {
+    api: {
+        name: "setLight"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::light::V2_0::Status"
+        }
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::light::V2_0::Type"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::light::V2_0::LightState"
+        }
+    }
+
+    api: {
+        name: "getSupportedTypes"
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_ENUM
+                predefined_type: "::android::hardware::light::V2_0::Type"
+            }
+        }
+    }
+
+}
diff --git a/light/2.0/vts/types.vts b/light/2.0/vts/types.vts
new file mode 100644
index 0000000..a9c8cab
--- /dev/null
+++ b/light/2.0/vts/types.vts
@@ -0,0 +1,149 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "types"
+
+package: "android.hardware.light"
+
+
+attribute: {
+    name: "::android::hardware::light::V2_0::Status"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "SUCCESS"
+        scalar_value: {
+            int32_t: 0
+        }
+        enumerator: "LIGHT_NOT_SUPPORTED"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "BRIGHTNESS_NOT_SUPPORTED"
+        scalar_value: {
+            int32_t: 2
+        }
+        enumerator: "UNKNOWN"
+        scalar_value: {
+            int32_t: 3
+        }
+    }
+}
+
+attribute: {
+    name: "::android::hardware::light::V2_0::Flash"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "NONE"
+        scalar_value: {
+            int32_t: 0
+        }
+        enumerator: "TIMED"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "HARDWARE"
+        scalar_value: {
+            int32_t: 2
+        }
+    }
+}
+
+attribute: {
+    name: "::android::hardware::light::V2_0::Brightness"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "USER"
+        scalar_value: {
+            int32_t: 0
+        }
+        enumerator: "SENSOR"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "LOW_PERSISTENCE"
+        scalar_value: {
+            int32_t: 2
+        }
+    }
+}
+
+attribute: {
+    name: "::android::hardware::light::V2_0::Type"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "BACKLIGHT"
+        scalar_value: {
+            int32_t: 0
+        }
+        enumerator: "KEYBOARD"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "BUTTONS"
+        scalar_value: {
+            int32_t: 2
+        }
+        enumerator: "BATTERY"
+        scalar_value: {
+            int32_t: 3
+        }
+        enumerator: "NOTIFICATIONS"
+        scalar_value: {
+            int32_t: 4
+        }
+        enumerator: "ATTENTION"
+        scalar_value: {
+            int32_t: 5
+        }
+        enumerator: "BLUETOOTH"
+        scalar_value: {
+            int32_t: 6
+        }
+        enumerator: "WIFI"
+        scalar_value: {
+            int32_t: 7
+        }
+        enumerator: "COUNT"
+        scalar_value: {
+            int32_t: 8
+        }
+    }
+}
+
+attribute: {
+    name: "::android::hardware::light::V2_0::LightState"
+    type: TYPE_STRUCT
+    struct_value: {
+        name: "color"
+        type: TYPE_SCALAR
+        scalar_type: "uint32_t"
+    }
+    struct_value: {
+        name: "flashMode"
+        type: TYPE_ENUM
+        predefined_type: "::android::hardware::light::V2_0::Flash"
+    }
+    struct_value: {
+        name: "flashOnMs"
+        type: TYPE_SCALAR
+        scalar_type: "int32_t"
+    }
+    struct_value: {
+        name: "flashOffMs"
+        type: TYPE_SCALAR
+        scalar_type: "int32_t"
+    }
+    struct_value: {
+        name: "brightnessMode"
+        type: TYPE_ENUM
+        predefined_type: "::android::hardware::light::V2_0::Brightness"
+    }
+}
+