Merge "Extend Telephony HIDL interface to include unsolicited RIL commands."
diff --git a/benchmarks/msgq/1.0/Android.bp b/benchmarks/msgq/1.0/Android.bp
index 5fe6203..a527b32 100644
--- a/benchmarks/msgq/1.0/Android.bp
+++ b/benchmarks/msgq/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.benchmarks.msgq@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.benchmarks.msgq@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.benchmarks.msgq@1.0",
     srcs: [
         "IBenchmarkMsgQ.hal",
     ],
@@ -14,8 +14,8 @@
 
 genrule {
     name: "android.hardware.benchmarks.msgq@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.benchmarks.msgq@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.benchmarks.msgq@1.0",
     srcs: [
         "IBenchmarkMsgQ.hal",
     ],
diff --git a/bluetooth/1.0/Android.bp b/bluetooth/1.0/Android.bp
index ab0b1a9..d8f3ca5 100644
--- a/bluetooth/1.0/Android.bp
+++ b/bluetooth/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.bluetooth@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.bluetooth@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.bluetooth@1.0",
     srcs: [
         "types.hal",
         "IBluetoothHci.hal",
@@ -18,8 +18,8 @@
 
 genrule {
     name: "android.hardware.bluetooth@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.bluetooth@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.bluetooth@1.0",
     srcs: [
         "types.hal",
         "IBluetoothHci.hal",
diff --git a/boot/1.0/Android.bp b/boot/1.0/Android.bp
index 6c959d9..cad7497 100644
--- a/boot/1.0/Android.bp
+++ b/boot/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.boot@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.boot@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.boot@1.0",
     srcs: [
         "types.hal",
         "IBootControl.hal",
@@ -16,8 +16,8 @@
 
 genrule {
     name: "android.hardware.boot@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.boot@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.boot@1.0",
     srcs: [
         "types.hal",
         "IBootControl.hal",
diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp
index 9c3bb5f..b6e8d08 100644
--- a/nfc/1.0/Android.bp
+++ b/nfc/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.nfc@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.nfc@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.nfc@1.0",
     srcs: [
         "types.hal",
         "INfc.hal",
@@ -18,8 +18,8 @@
 
 genrule {
     name: "android.hardware.nfc@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.nfc@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.nfc@1.0",
     srcs: [
         "types.hal",
         "INfc.hal",
diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp
index 5927549..0f89421 100644
--- a/radio/1.0/Android.bp
+++ b/radio/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.radio@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.radio@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.radio@1.0",
     srcs: [
         "types.hal",
         "IRadio.hal",
@@ -24,8 +24,8 @@
 
 genrule {
     name: "android.hardware.radio@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.radio@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.radio@1.0",
     srcs: [
         "types.hal",
         "IRadio.hal",
diff --git a/tests/bar/1.0/Android.bp b/tests/bar/1.0/Android.bp
index 4af053c..97693fb 100644
--- a/tests/bar/1.0/Android.bp
+++ b/tests/bar/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.bar@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.bar@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.bar@1.0",
     srcs: [
         "IBar.hal",
         "IImportTypes.hal",
@@ -16,8 +16,8 @@
 
 genrule {
     name: "android.hardware.tests.bar@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.bar@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.bar@1.0",
     srcs: [
         "IBar.hal",
         "IImportTypes.hal",
@@ -52,5 +52,6 @@
         "libhidl",
         "libhwbinder",
         "libutils",
+        "android.hardware.tests.foo@1.0",
     ],
 }
diff --git a/tests/baz/1.0/Android.bp b/tests/baz/1.0/Android.bp
index 18a554d..1a7c300 100644
--- a/tests/baz/1.0/Android.bp
+++ b/tests/baz/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.baz@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.baz@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.baz@1.0",
     srcs: [
         "types.hal",
         "IBase.hal",
@@ -20,8 +20,8 @@
 
 genrule {
     name: "android.hardware.tests.baz@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.baz@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.baz@1.0",
     srcs: [
         "types.hal",
         "IBase.hal",
diff --git a/tests/expression/1.0/Android.bp b/tests/expression/1.0/Android.bp
index 2061283..6acb3f9 100644
--- a/tests/expression/1.0/Android.bp
+++ b/tests/expression/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.expression@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.expression@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.expression@1.0",
     srcs: [
         "IExpression.hal",
         "IExpressionExt.hal",
@@ -16,8 +16,8 @@
 
 genrule {
     name: "android.hardware.tests.expression@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.expression@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.expression@1.0",
     srcs: [
         "IExpression.hal",
         "IExpressionExt.hal",
diff --git a/tests/foo/1.0/Android.bp b/tests/foo/1.0/Android.bp
index 7a556ed..7e30fe3 100644
--- a/tests/foo/1.0/Android.bp
+++ b/tests/foo/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.foo@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.foo@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.foo@1.0",
     srcs: [
         "types.hal",
         "IFoo.hal",
@@ -24,8 +24,8 @@
 
 genrule {
     name: "android.hardware.tests.foo@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.foo@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.foo@1.0",
     srcs: [
         "types.hal",
         "IFoo.hal",
diff --git a/tests/inheritance/1.0/Android.bp b/tests/inheritance/1.0/Android.bp
index 92d6fe7..f522ac0 100644
--- a/tests/inheritance/1.0/Android.bp
+++ b/tests/inheritance/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.inheritance@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.inheritance@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.inheritance@1.0",
     srcs: [
         "IChild.hal",
         "IFetcher.hal",
@@ -20,8 +20,8 @@
 
 genrule {
     name: "android.hardware.tests.inheritance@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.inheritance@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.inheritance@1.0",
     srcs: [
         "IChild.hal",
         "IFetcher.hal",
diff --git a/tests/libhwbinder/1.0/Android.bp b/tests/libhwbinder/1.0/Android.bp
index aad24a6..2598f30 100644
--- a/tests/libhwbinder/1.0/Android.bp
+++ b/tests/libhwbinder/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.libhwbinder@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.libhwbinder@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.libhwbinder@1.0",
     srcs: [
         "IBenchmark.hal",
     ],
@@ -14,8 +14,8 @@
 
 genrule {
     name: "android.hardware.tests.libhwbinder@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.libhwbinder@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.libhwbinder@1.0",
     srcs: [
         "IBenchmark.hal",
     ],
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp
index 2eb36c0..e685bcc 100644
--- a/tests/msgq/1.0/Android.bp
+++ b/tests/msgq/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.msgq@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.msgq@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.msgq@1.0",
     srcs: [
         "ITestMsgQ.hal",
     ],
@@ -14,8 +14,8 @@
 
 genrule {
     name: "android.hardware.tests.msgq@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.msgq@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.msgq@1.0",
     srcs: [
         "ITestMsgQ.hal",
     ],
diff --git a/tests/pointer/1.0/Android.bp b/tests/pointer/1.0/Android.bp
index 2b1e8b2..ad8d014 100644
--- a/tests/pointer/1.0/Android.bp
+++ b/tests/pointer/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.tests.pointer@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.pointer@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.pointer@1.0",
     srcs: [
         "IGraph.hal",
         "IPointer.hal",
@@ -16,8 +16,8 @@
 
 genrule {
     name: "android.hardware.tests.pointer@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.pointer@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.tests.pointer@1.0",
     srcs: [
         "IGraph.hal",
         "IPointer.hal",
diff --git a/wifi/1.0/Android.bp b/wifi/1.0/Android.bp
index 7453fe7..b730931 100644
--- a/wifi/1.0/Android.bp
+++ b/wifi/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.wifi@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi@1.0",
     srcs: [
         "types.hal",
         "IWifi.hal",
@@ -34,8 +34,8 @@
 
 genrule {
     name: "android.hardware.wifi@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi@1.0",
     srcs: [
         "types.hal",
         "IWifi.hal",
diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp
index d4247d2..08c6f9a 100644
--- a/wifi/supplicant/1.0/Android.bp
+++ b/wifi/supplicant/1.0/Android.bp
@@ -2,8 +2,8 @@
 
 genrule {
     name: "android.hardware.wifi.supplicant@1.0_genc++",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi.supplicant@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi.supplicant@1.0",
     srcs: [
         "types.hal",
         "ISupplicant.hal",
@@ -38,8 +38,8 @@
 
 genrule {
     name: "android.hardware.wifi.supplicant@1.0_genc++_headers",
-    tool: "hidl-gen",
-    cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi.supplicant@1.0",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.wifi.supplicant@1.0",
     srcs: [
         "types.hal",
         "ISupplicant.hal",
diff --git a/wifi/supplicant/1.0/ISupplicant.hal b/wifi/supplicant/1.0/ISupplicant.hal
index c0131c5..32d73da 100644
--- a/wifi/supplicant/1.0/ISupplicant.hal
+++ b/wifi/supplicant/1.0/ISupplicant.hal
@@ -20,13 +20,13 @@
 import ISupplicantIface;
 
 /**
- * Interface exposed by the wpa_supplicant HIDL service registered
+ * Interface exposed by the supplicant HIDL service registered
  * with the hardware service manager.
- * This is the root level object for any wpa_supplicant interactions.
+ * This is the root level object for any the supplicant interactions.
  */
 interface ISupplicant {
   /**
-   * Debug levels for wpa_supplicant.
+   * Debug levels for the supplicant.
    * Only log messages with a level greater than the set level
    * (via |setDebugParams|) will be logged.
    */
@@ -41,7 +41,7 @@
 
   /**
    * Structure describing the type and name of an iface
-   * controlled by wpa_supplicant.
+   * controlled by the supplicant.
    */
   struct IfaceInfo {
       /**
@@ -56,7 +56,7 @@
 
   /**
    * Gets a HIDL interface object for the interface corresponding to iface
-   * name which wpa_supplicant already controls.
+   * name which the supplicant already controls.
    *
    * @param ifaceInfo Combination of the iface type and name retrieved
    *        using |listInterfaces|.
@@ -72,7 +72,7 @@
       generates (SupplicantStatus status, ISupplicantIface iface);
 
   /**
-   * Retrieve a list of all the interfaces controlled by wpa_supplicant.
+   * Retrieve a list of all the interfaces controlled by the supplicant.
    *
    * The corresponding |ISupplicantIface| object for any interface can be
    * retrieved using |getInterface| method.
@@ -81,12 +81,12 @@
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|
-   * @return ifaces List of all interfaces controlled by wpa_supplicant.
+   * @return ifaces List of all interfaces controlled by the supplicant.
    */
   listInterfaces() generates (SupplicantStatus status, vec<IfaceInfo> ifaces);
 
   /**
-   * Register for callbacks from the wpa_supplicant service.
+   * Register for callbacks from the supplicant service.
    *
    * These callbacks are invoked for global events that are not specific
    * to any interface or network. Registration of multiple callback
@@ -104,9 +104,9 @@
       generates (SupplicantStatus status);
 
   /**
-   * Set debug parameters for wpa_supplicant.
+   * Set debug parameters for the supplicant.
    *
-   * @param level Debug logging level for wpa_supplicant.
+   * @param level Debug logging level for the supplicant.
    *        (one of |DebugLevel| values).
    * @param timestamp Determines whether to show timestamps in logs or
    *        not.
@@ -141,4 +141,19 @@
    * @return enabled true if set, false otherwise.
    */
   isDebugShowKeysEnabled() generates (bool enabled);
+
+  /**
+   * Set concurrency priority.
+   *
+   * When both P2P and STA mode ifaces are active, this must be used
+   * to prioritize either STA or P2P connection to resolve conflicts
+   * arising during single channel concurrency.
+   *
+   * @param type The type of iface to prioritize.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|
+   */
+  setConcurrencyPriority(IfaceType type) generates (SupplicantStatus status);
 };
diff --git a/wifi/supplicant/1.0/ISupplicantCallback.hal b/wifi/supplicant/1.0/ISupplicantCallback.hal
index be08a3a..a5a0da5 100644
--- a/wifi/supplicant/1.0/ISupplicantCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantCallback.hal
@@ -17,10 +17,10 @@
 package android.hardware.wifi.supplicant@1.0;
 
 /**
- * Callback Interface exposed by the wpa_supplicant service (ISupplicant).
+ * Callback Interface exposed by the supplicant service (ISupplicant).
  *
  * Clients need to host an instance of this HIDL interface object and
- * pass a reference of the object to wpa_supplicant via the
+ * pass a reference of the object to the supplicant via the
  * |ISupplicant.registerCallback| method.
  */
 interface ISupplicantCallback {
diff --git a/wifi/supplicant/1.0/ISupplicantIface.hal b/wifi/supplicant/1.0/ISupplicantIface.hal
index afbfd8e..600df30 100644
--- a/wifi/supplicant/1.0/ISupplicantIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantIface.hal
@@ -19,7 +19,7 @@
 import ISupplicantNetwork;
 
 /**
- * Interface exposed by wpa_supplicant for each network interface (e.g wlan0)
+ * Interface exposed by the supplicant for each network interface (e.g wlan0)
  * it controls.
  */
 interface ISupplicantIface {
@@ -97,7 +97,7 @@
       generates (SupplicantStatus status, ISupplicantNetwork network);
 
   /**
-   * Retrieve a list of all the network Id's controlled by wpa_supplicant.
+   * Retrieve a list of all the network Id's controlled by the supplicant.
    *
    * The corresponding |ISupplicantNetwork| object for any network can be
    * retrieved using |getNetwork| method.
@@ -106,7 +106,7 @@
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|
-   * @return networkIds List of all network Id's controlled by wpa_supplicant.
+   * @return networkIds List of all network Id's controlled by the supplicant.
    */
   listNetworks()
       generates (SupplicantStatus status, vec<SupplicantNetworkId> networkIds);
diff --git a/wifi/supplicant/1.0/ISupplicantNetwork.hal b/wifi/supplicant/1.0/ISupplicantNetwork.hal
index acc3359..3c97f63 100644
--- a/wifi/supplicant/1.0/ISupplicantNetwork.hal
+++ b/wifi/supplicant/1.0/ISupplicantNetwork.hal
@@ -17,19 +17,19 @@
 package android.hardware.wifi.supplicant@1.0;
 
 /**
- * Interface exposed by wpa_supplicant for each network configuration it
+ * Interface exposed by the supplicant for each network configuration it
  * controls.
- * A network is wpa_supplicant's way of representing the configuration
+ * A network is the supplicant's way of representing the configuration
  * parameters of a Wifi service set. Service sets are identified by their
  * service set identitifier (SSID). The parameters for a network includes the
  * credentials, bssid, etc.
  */
 interface ISupplicantNetwork {
   /**
-   * Retrieves the ID allocated to this network by wpa_supplicant.
+   * Retrieves the ID allocated to this network by the supplicant.
    *
    * This is not the |SSID| of the network, but an internal identifier for
-   * this network used by wpa_supplicant.
+   * this network used by the supplicant.
    *
    * @return status Status of the operation.
    *         Possible status codes:
diff --git a/wifi/supplicant/1.0/ISupplicantP2pIface.hal b/wifi/supplicant/1.0/ISupplicantP2pIface.hal
index ea0878b..48a4f5b 100644
--- a/wifi/supplicant/1.0/ISupplicantP2pIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantP2pIface.hal
@@ -20,10 +20,40 @@
 import ISupplicantP2pIfaceCallback;
 
 /**
- * Interface exposed by wpa_supplicant for each P2P mode network
+ * Interface exposed by the supplicant for each P2P mode network
  * interface (e.g p2p0) it controls.
  */
 interface ISupplicantP2pIface extends ISupplicantIface {
+  enum WpsProvisionMethod : uint32_t {
+    /**
+     * Push button method.
+     */
+    PBC,
+    /**
+     * Display pin method configuration - pin is generated and displayed on
+     * device.
+     */
+    DISPLAY,
+    /**
+     * Keypad pin method configuration - pin is entered on device.
+     */
+    KEYPAD,
+    /**
+     * Label pin method configuration - pin is labelled on device.
+     */
+    LABEL
+  };
+
+  enum GroupCapabilityMask : uint32_t {
+    GROUP_OWNER = 1 << 0,
+    PERSISTENT_GROUP = 1 << 1,
+    GROUP_LIMIT = 1 << 2,
+    INTRA_BSS_DIST = 1 << 3,
+    CROSS_CONN = 1 << 4,
+    PERSISTENT_RECONN = 1 << 5,
+    GROUP_FORMATION = 1 << 6
+  };
+
   /**
    * Register for callbacks from this interface.
    *
@@ -42,4 +72,419 @@
    */
   registerCallback(ISupplicantP2pIfaceCallback callback)
       generates (SupplicantStatus status);
+
+  /**
+   * Gets the MAC address of the device.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   * @return deviceAddress MAC address of the device.
+   */
+  getDeviceAddress()
+      generates (SupplicantStatus status, MacAddress deviceAddress);
+
+  /**
+   * Set the postfix to be used for P2P SSID's.
+   *
+   * @param postfix String to be appended to SSID.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  setSsidPostfix(string postfix) generates (SupplicantStatus status);
+
+  /**
+   * Set the Maximum idle time in seconds for P2P groups.
+   * This value controls how long a P2P group is maintained after there
+   * is no other members in the group. As a group owner, this means no
+   * associated stations in the group. As a P2P client, this means no
+   * group owner seen in scan results.
+   *
+   * @param timeoutInSec Timeout value in seconds.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  setGroupIdle(uint32_t timeoutInSec) generates (SupplicantStatus status);
+
+  /**
+   * Turn on/off power save mode for the interface.
+   *
+   * @param enable Indicate if power save is to be turned on/off.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
+   */
+  setPowerSave(bool enable) generates (SupplicantStatus status);
+
+  /**
+   * Initiate a P2P service discovery with an optional timeout.
+   *
+   * @param timeoutInSec Max time to be spent is peforming discovery.
+   *        Set to 0 to indefinely continue discovery untill and explicit
+   *        |stopFind| is sent.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  find(uint32_t timeoutInSec) generates (SupplicantStatus status);
+
+  /**
+   * Stop an ongoing P2P service discovery.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  stopFind() generates (SupplicantStatus status);
+
+  /**
+   * Flush P2P peer table and state.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  flush() generates (SupplicantStatus status);
+
+  /**
+   * Start P2P group formation with a discovered P2P peer. This includes
+   * optional group owner negotiation, group interface setup, provisioning,
+   * and establishing data connection.
+   *
+   * @param peerAddress MAC address of the device to connect to.
+   * @method provisionMethod Provisioning method to use.
+   * @param preSelectedPin Pin to be used, if |provisionMethod| uses one of the
+   *        preselected |PIN*| methods.
+   * @param joinExistingGroup Indicates that this is a command to join an
+   *        existing group as a client. It skips the group owner negotiation
+   *        part. This must send a Provision Discovery Request message to the
+   *        target group owner before associating for WPS provisioning.
+   * @param persistent Used to request a persistent group to be formed.
+   * @param goIntent Used to override the default Intent for this group owner
+   *        negotiation (Values from 1-15). Refer to section 4.1.6 in
+   *        Wi-Fi Peer-to-Peer (P2P) Technical Specification Version 1.7.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   * @return generatedPin Pin generated, if |provisionMethod| uses one of the
+   *         generated |PIN*| methods.
+   */
+  connect(MacAddress peerAddress,
+          WpsProvisionMethod provisionMethod,
+          vec<uint8_t> preSelectedPin,
+          bool joinExistingGroup,
+          bool persistent,
+          uint32_t goIntent)
+      generates (SupplicantStatus status, vec<uint8_t> generatedPin);
+
+  /**
+   * Cancel an ongoing P2P group formation and joining-a-group related
+   * operation. This operation unauthorizes the specific peer device (if any
+   * had been authorized to start group formation), stops P2P find (if in
+   * progress), stops pending operations for join-a-group, and removes the
+   * P2P group interface (if one was used) that is in the WPS provisioning
+   * step. If the WPS provisioning step has been completed, the group is not
+   * terminated.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_NOT_STARTED|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  cancelConnect() generates (SupplicantStatus status);
+
+  /**
+   * Send P2P provision discovery request to the specified peer. The
+   * parameters for this command are the P2P device address of the peer and the
+   * desired configuration method.
+   *
+   * @param peerAddress MAC address of the device to send discovery.
+   * @method provisionMethod Provisioning method to use.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  provisionDiscovery(MacAddress peerAddress,
+                     WpsProvisionMethod provisionMethod)
+      generates (SupplicantStatus status);
+
+  /**
+   * Set up a P2P group owner manually (i.e., without group owner
+   * negotiation with a specific peer). This is also known as autonomous
+   * group owner. Optional |persistent| may be used to specify restart of a
+   * persistent group.
+   *
+   * @param persistent Used to request a persistent group to be formed.
+   * @param persistentNetworkId Used to specify the restart of a persistent
+   *        group.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  addGroup(bool persistent, SupplicantNetworkId persistentNetworkId)
+      generates (SupplicantStatus status);
+
+  /**
+   * Terminate a P2P group. If a new virtual network interface was used for
+   * the group, it must also be removed. The network interface name of the
+   * group interface is used as a parameter for this command.
+   *
+   * @param groupIfName Group interface name to use.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  removeGroup(string groupIfName) generates (SupplicantStatus status);
+
+  /**
+   * Reject connection attempt from a peer (specified with a device
+   * address). This is a mechanism to reject a pending group owner negotiation
+   * with a peer and request to automatically block any further connection or
+   * discovery of the peer.
+   *
+   * @param peerAddress MAC address of the device to reject.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  reject(MacAddress peerAddress) generates (SupplicantStatus status);
+
+  /**
+   * Invite a device to a persistent group.
+   * If the peer device is the group owner of the persistent group, the peer
+   * parameter is not needed. Otherwise it is used to specify which
+   * device to invite. |goDeviceAddress| parameter may be used to override
+   * the group owner device address for Invitation Request should it not be
+   * known for some reason (this should not be needed in most cases).
+   *
+   * @param groupIfName Group interface name to use.
+   * @param goDeviceAddress MAC address of the group owner device.
+   * @param peerAddress MAC address of the device to invite.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  invite(string groupIfName, MacAddress goDeviceAddress, MacAddress peerAddress)
+      generates (SupplicantStatus status);
+
+  /**
+   * Reinvoke a device from a persistent group.
+   *
+   * @param persistentNetworkId Used to specify the persistent group.
+   * @param peerAddress MAC address of the device to reinvoke.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  reinvoke(SupplicantNetworkId persistentNetworkId, MacAddress peerAddress)
+      generates (SupplicantStatus status);
+
+  /**
+   * Configure Extended Listen Timing.
+   *
+   * If enabled, listen state must be entered every |intervalInMillis| for at
+   * least |periodInMillis|. Both values have acceptable range of 1-65535
+   * (with interval obviously having to be larger than or equal to duration).
+   * If the P2P module is not idle at the time the Extended Listen Timing
+   * timeout occurs, the Listen State operation must be skipped.
+   *
+   * @param periodInMillis Period in milliseconds.
+   * @param intervalInMillis Interval in milliseconds.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  configureExtListen(bool enable,
+                     uint32_t periodInMillis,
+                     uint32_t intervalInMillis)
+      generates (SupplicantStatus status);
+
+  /**
+   * Set P2P Listen channel.
+   *
+   * When specifying a social channel on the 2.4 GHz band (1/6/11) there is no
+   * need to specify the operating class since it defaults to 81. When
+   * specifying a social channel on the 60 GHz band (2), specify the 60 GHz
+   * operating class (180).
+   *
+   * @param channel Wifi channel. eg, 1, 6, 11.
+   * @param operatingClass Operating Class indicates the channel set of the AP
+   *        indicated by this BSSID
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  setListenChannel(uint32_t channel, uint32_t operatingClass)
+      generates (SupplicantStatus status);
+
+  /**
+   * Gets the operational SSID of the device.
+   *
+   * @param peerAddress MAC address of the peer.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   * @return ssid SSID of the device
+   */
+  getSsid(MacAddress peerAddress)
+      generates (SupplicantStatus status, Ssid ssid);
+
+  /**
+   * Gets the capability of the group which the device is a
+   * member of.
+   *
+   * @param peerAddress MAC address of the peer.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   * @return capabilityMask Combination of |GroupCapabilityMask| values.
+   */
+  getGroupCapability(MacAddress peerAddress)
+      generates (SupplicantStatus status, uint32_t capabilities);
+
+  /**
+   * This command can be used to add a bonjour service.
+   *
+   * @param query Hex dump of the query data.
+   * @param return Hex dump of the response data.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  addBonjourService(vec<uint8_t> query, vec<uint8_t> response)
+      generates (SupplicantStatus status);
+
+  /**
+   * This command can be used to remove a bonjour service.
+   *
+   * @param query Hex dump of the query data.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NOT_STARTED|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  removeBonjourService(vec<uint8_t> query) generates (SupplicantStatus status);
+
+  /**
+   * This command can be used to add a UPNP service.
+   *
+   * @param version Version to be used.
+   * @package serviceName Service name to be used.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  addUpnpService(uint32_t version, string serviceName)
+      generates (SupplicantStatus status);
+
+  /**
+   * This command can be used to remove a UPNP service.
+   *
+   * @param version Version to be used.
+   * @package serviceName Service name to be used.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NOT_STARTED|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  removeUpnpService(uint32_t version, string serviceName)
+      generates (SupplicantStatus status);
+
+  /**
+   * This command can be used to flush all services from the
+   * device.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  flushServices(uint32_t version, string serviceName)
+      generates (SupplicantStatus status);
+
+  /**
+   * Schedule a P2P service discovery request. The parameters for this command
+   * are the device address of the peer device (or 00:00:00:00:00:00 for
+   * wildcard query that is sent to every discovered P2P peer that supports
+   * service discovery) and P2P Service Query TLV(s) as hexdump.
+   *
+   * @param peerAddress MAC address of the device to discover.
+   * @param query Hex dump of the query data.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   * @return identifier Identifier for the request. Can be used to cancel the
+   *         request.
+   */
+  requestServiceDiscovery(MacAddress peerAddress, vec<uint8_t> query)
+      generates (SupplicantStatus status, uint64_t identifier);
+
+  /**
+   * Cancel a previous service discovery request.
+   *
+   * @return identifier Identifier for the request to cancel.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_NOT_STARTED|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+   */
+  cancelServiceDiscovery(uint64_t identifier)
+      generates (SupplicantStatus status);
 };
diff --git a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal
index 1574e6a..9ac8b36 100644
--- a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal
@@ -17,11 +17,11 @@
 package android.hardware.wifi.supplicant@1.0;
 
 /**
- * Callback Interface exposed by the wpa_supplicant service
+ * Callback Interface exposed by the supplicant service
  * for each P2P mode interface (ISupplicantP2pIface).
  *
  * Clients need to host an instance of this HIDL interface object and
- * pass a reference of the object to wpa_supplicant via the
+ * pass a reference of the object to the supplicant via the
  * corresponding |ISupplicantP2pIface.registerCallback| method.
  */
 interface ISupplicantP2pIfaceCallback {
diff --git a/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal b/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal
index 13eeae7..34727c4 100644
--- a/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal
+++ b/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal
@@ -20,7 +20,7 @@
 import ISupplicantP2pNetworkCallback;
 
 /**
- * Interface exposed by wpa_supplicant for each P2P mode network
+ * Interface exposed by the supplicant for each P2P mode network
  * configuration it controls.
  */
 interface ISupplicantP2pNetwork extends ISupplicantNetwork {
diff --git a/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal b/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal
index d171a09..41603f9 100644
--- a/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal
@@ -17,11 +17,11 @@
 package android.hardware.wifi.supplicant@1.0;
 
 /**
- * Callback Interface exposed by the wpa_supplicant service
+ * Callback Interface exposed by the supplicant service
  * for each network (ISupplicantP2pNetwork).
  *
  * Clients need to host an instance of this HIDL interface object and
- * pass a reference of the object to wpa_supplicant via the
+ * pass a reference of the object to the supplicant via the
  * corresponding |ISupplicantP2pNetwork.registerCallback| method.
  */
 interface ISupplicantP2pNetworkCallback {
diff --git a/wifi/supplicant/1.0/ISupplicantStaIface.hal b/wifi/supplicant/1.0/ISupplicantStaIface.hal
index 4e2c7c8..a68e961 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIface.hal
@@ -20,7 +20,7 @@
 import ISupplicantStaIfaceCallback;
 
 /**
- * Interface exposed by wpa_supplicant for each station mode network
+ * Interface exposed by the supplicant for each station mode network
  * interface (e.g wlan0) it controls.
  */
 interface ISupplicantStaIface extends ISupplicantIface {
diff --git a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
index d104814..77423ed 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
@@ -17,11 +17,11 @@
 package android.hardware.wifi.supplicant@1.0;
 
 /**
- * Callback Interface exposed by the wpa_supplicant service
+ * Callback Interface exposed by the supplicant service
  * for each station mode interface (ISupplicantStaIface).
  *
  * Clients need to host an instance of this HIDL interface object and
- * pass a reference of the object to wpa_supplicant via the
+ * pass a reference of the object to the supplicant via the
  * corresponding |ISupplicantStaIface.registerCallback| method.
  */
 interface ISupplicantStaIfaceCallback {
@@ -35,31 +35,31 @@
     DISCONNECTED = 0,
     /**
      * This state is entered if the network interface is disabled, e.g.,
-     * due to rfkill. wpa_supplicant refuses any new operations that would
+     * due to rfkill. the supplicant refuses any new operations that would
      * use the radio until the interface has been enabled.
      */
     IFACE_DISABLED = 1,
     /**
      * This state is entered if there are no enabled networks in the
-     * configuration. wpa_supplicant is not trying to associate with a new
+     * configuration. the supplicant is not trying to associate with a new
      * network and external interaction (e.g., ctrl_iface call to add or
      * enable a network) is needed to start association.
      */
     INACTIVE = 2,
     /**
-     * This state is entered when wpa_supplicant starts scanning for a
+     * This state is entered when the supplicant starts scanning for a
      * network.
      */
     SCANNING = 3,
     /**
-     * This state is entered when wpa_supplicant has found a suitable BSS
+     * This state is entered when the supplicant has found a suitable BSS
      * to authenticate with and the driver is configured to try to
      * authenticate with this BSS. This state is used only with drivers
-     * that use wpa_supplicant as the SME.
+     * that use the supplicant as the SME.
      */
     AUTHENTICATING = 4,
     /**
-     * This state is entered when wpa_supplicant has found a suitable BSS
+     * This state is entered when the supplicant has found a suitable BSS
      * to associate with and the driver is configured to try to associate
      * with this BSS in ap_scan=1 mode. When using ap_scan=2 mode, this
      * state is entered when the driver is configured to try to associate
@@ -69,7 +69,7 @@
     /**
      * This state is entered when the driver reports that association has
      * been successfully completed with an AP. If IEEE 802.1X is used
-     * (with or without WPA/WPA2), wpa_supplicant remains in this state
+     * (with or without WPA/WPA2), the supplicant remains in this state
      * until the IEEE 802.1X/EAPOL authentication has been completed.
      */
     ASSOCIATED = 6,
diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
index ce23932..e414a07 100644
--- a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
@@ -20,7 +20,7 @@
 import ISupplicantStaNetworkCallback;
 
 /**
- * Interface exposed by wpa_supplicant for each station mode network
+ * Interface exposed by the supplicant for each station mode network
  * configuration it controls.
  */
 interface ISupplicantStaNetwork extends ISupplicantNetwork {
@@ -140,7 +140,7 @@
   /**
    * Setters for the various network params.
    * These correspond to elements of |wpa_sssid| struct used internally by
-   * wpa_supplicant to represent each network.
+   * the supplicant to represent each network.
    */
   /**
    * Set SSID for this network.
@@ -150,6 +150,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -162,6 +163,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -187,6 +189,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -200,6 +203,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -213,6 +217,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -226,6 +231,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -240,6 +246,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -255,6 +262,7 @@
    *        |ParamSizeLimits.PSK_PASSPHRASE_MAX_LEN_IN_BYTES|.
    * @return status Status of the operation.
    *         Possible status codes:
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.SUCCESS|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
@@ -273,6 +281,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -287,6 +296,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -313,6 +323,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -327,6 +338,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -340,6 +352,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -353,6 +366,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -366,6 +380,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -379,6 +394,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -391,6 +407,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -403,6 +420,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -415,6 +433,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -427,6 +446,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -439,6 +459,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -464,6 +485,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
@@ -476,6 +498,7 @@
    * @return status Status of the operation.
    *         Possible status codes:
    *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
    *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
    *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
    */
diff --git a/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal b/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal
index 2419dcc..6d45e0e 100644
--- a/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal
@@ -17,11 +17,11 @@
 package android.hardware.wifi.supplicant@1.0;
 
 /**
- * Callback Interface exposed by the wpa_supplicant service
+ * Callback Interface exposed by the supplicant service
  * for each network (ISupplicantStaNetwork).
  *
  * Clients need to host an instance of this HIDL interface object and
- * pass a reference of the object to wpa_supplicant via the
+ * pass a reference of the object to the supplicant via the
  * corresponding |ISupplicantStaNetwork.registerCallback| method.
  */
 interface ISupplicantStaNetworkCallback {