OSDN Git Service

android-x86/hardware-interfaces.git
7 years agoMerge "Update makefiles for logging."
Steven Moreland [Fri, 25 Nov 2016 18:18:50 +0000 (18:18 +0000)]
Merge "Update makefiles for logging."
am: 2fe5762cae

Change-Id: I2f85a37a4cb7178aecd48eb63ca6fa7e7d715917

7 years agoMerge "Update makefiles for logging."
Treehugger Robot [Thu, 24 Nov 2016 16:41:20 +0000 (16:41 +0000)]
Merge "Update makefiles for logging."

7 years agoRemove HIDL_GENERATED from things written by hand.
Steven Moreland [Wed, 23 Nov 2016 01:39:14 +0000 (01:39 +0000)]
Remove HIDL_GENERATED from things written by hand.
am: 33e87b8a76

Change-Id: Ib5c70daafd8d5bfa8454a4a0e05c858a3e9a393a

7 years agoRemove HIDL_GENERATED from things written by hand.
Steven Moreland [Tue, 22 Nov 2016 23:34:39 +0000 (15:34 -0800)]
Remove HIDL_GENERATED from things written by hand.

find . -name "*.h" -exec sed -i 's/HIDL_GENERATED_\(.*\)_H_/\U\1_H/g' {}
+

They now match what would be generated by -Lc++-impl. This prevents
confusion over whether or not the files are autogenerated.

Test: pass
Change-Id: I2c9d7887f6d6bdaa19a5c4bfcf02ee3d1dbc81d1

7 years agoUse newly introduced hidl_handle.
Martijn Coenen [Tue, 22 Nov 2016 14:58:35 +0000 (14:58 +0000)]
Use newly introduced hidl_handle.
am: 403161ab73

Change-Id: Ic5344ae123ef0c9b233eb31e6b9cd33be2d809fc

7 years agoUse newly introduced hidl_handle.
Martijn Coenen [Fri, 18 Nov 2016 14:29:32 +0000 (15:29 +0100)]
Use newly introduced hidl_handle.

Bug: 32089785
Test: builds
Change-Id: I27c7d3945e1fe390661bf322987011a00fe9b3fe

7 years agoMerge changes I7c418811,I0870eae0
Roshan Pius [Tue, 22 Nov 2016 01:39:03 +0000 (01:39 +0000)]
Merge changes I7c418811,I0870eae0
am: 88fb149b8e

Change-Id: Ic1b7ccb20296344bb551fc600d3d6e25fe1fe6a6

7 years agowifi: Add link layer stats API wrappers in WifiLegacyHal
Roshan Pius [Tue, 22 Nov 2016 01:39:00 +0000 (01:39 +0000)]
wifi: Add link layer stats API wrappers in WifiLegacyHal
am: 7cece41299

Change-Id: Id8edce8333faa2860a7deef272858b93c6c8bef6

7 years agowifi: Add gscan API wrappers in WifiLegacyHal
Roshan Pius [Tue, 22 Nov 2016 01:38:57 +0000 (01:38 +0000)]
wifi: Add gscan API wrappers in WifiLegacyHal
am: 76ff302d57

Change-Id: Ieda0e0ab4b058f342788cf39182c7a2eafafeeba

7 years agoMerge changes I7c418811,I0870eae0
Treehugger Robot [Tue, 22 Nov 2016 01:06:50 +0000 (01:06 +0000)]
Merge changes I7c418811,I0870eae0

* changes:
  wifi: Add link layer stats API wrappers in WifiLegacyHal
  wifi: Add gscan API wrappers in WifiLegacyHal

7 years agoUpdate makefiles for logging.
Steven Moreland [Tue, 22 Nov 2016 00:19:57 +0000 (16:19 -0800)]
Update makefiles for logging.

Bug: 32943424
Test: hidl_test
Change-Id: I86dc81935912861073497c07696378895a25f9ee

7 years agoMerge "NFC: Add Annotations to the HAL file"
Ruchi Kandoi [Mon, 21 Nov 2016 23:03:59 +0000 (23:03 +0000)]
Merge "NFC: Add Annotations to the HAL file"
am: 3bca1eef75

Change-Id: I528f0494291c89116a976a8da0c28dd3dc87e6cb

7 years agoMerge "NFC: Add Annotations to the HAL file"
Ruchi Kandoi [Mon, 21 Nov 2016 22:53:01 +0000 (22:53 +0000)]
Merge "NFC: Add Annotations to the HAL file"

7 years agowifi: Add link layer stats API wrappers in WifiLegacyHal
Roshan Pius [Fri, 28 Oct 2016 17:38:21 +0000 (10:38 -0700)]
wifi: Add link layer stats API wrappers in WifiLegacyHal

Adds wrappers over the legacy HAL API for the following:
1. enable/disable link layer stats collection.
2. fetch link layer stats.

Note: Link layer stats structure is quite ugly. The wrapper stucture
declared here (LinkLayerStats) tries to separate out the pointer
elements and ignore the unnecessary variable size elements from them.

Bug: 31991459
Test: Compiles
Change-Id: I7c4188115786542866c7be56cf9f116b3f78e6a3

7 years agowifi: Add gscan API wrappers in WifiLegacyHal
Roshan Pius [Fri, 28 Oct 2016 17:33:34 +0000 (10:33 -0700)]
wifi: Add gscan API wrappers in WifiLegacyHal

The legacy gscan API's were designed to be used in the following
sequence:
a) Start the scan using |wifi_start_gscan|.
b) Scan Events are indicated to the caller via the provided
|on_scan_event| callback.
c) When one of the result events are received, the caller is expected
to retrieve the cached results via |wifi_get_cached_gscan_results|.
There are some extra knobs here to determine if the results need to be
flushed after fetch or not.
d) Any scan failures are also notified via the provided
|on_scan_event| callback.
e) Full scan results are delivered one by one via the provided
|on_full_scan_result| callback.

In our use case step (b) above is always followed by step (c), so these
2 steps have been merged together in the HIDL interface:
a) Start the scan using |IWifiStaIface.startBackgroundScan|.
b) Scan results are now directly delivered via
|IWifiStaIfaceEventCallback.onBackgroundScanResults| callback.
c) Any scan failures will be delivered via
|IWifiStaIfaceEventCallback.onBackgroundScanFailure| callback.
d) Full scan results are delivered one by one via
|IWifiStaIfaceEventCallback.onBackgroundFullScanResult| callback.

Bug: 31991459
Test: Compiles
Change-Id: I0870eae095a667eec1d8de75fe1cc04a1b5a0bd3

7 years agoSplit libhidl into base and transport.
Yifan Hong [Fri, 18 Nov 2016 23:14:31 +0000 (23:14 +0000)]
Split libhidl into base and transport.
am: 63544eacb6

Change-Id: I97974e9bbe99c93591c0a4e85ff75a43c7e63983

7 years agoSplit libhidl into base and transport.
Yifan Hong [Wed, 16 Nov 2016 22:17:58 +0000 (14:17 -0800)]
Split libhidl into base and transport.

Bug: 32756130

Test: mma
Change-Id: Id21cf23abe2910f26bb7895511862443b93dc112

7 years agoMerge "Cast hidl_pointer<T> to void*."
Martijn Coenen [Fri, 18 Nov 2016 08:08:20 +0000 (08:08 +0000)]
Merge "Cast hidl_pointer<T> to void*."
am: 6033952ff1

Change-Id: Ic0bdb5eab4f0a38c3b93042aad4ec14856f05de5

7 years agoMerge "Cast hidl_pointer<T> to void*."
Martijn Coenen [Fri, 18 Nov 2016 08:03:38 +0000 (08:03 +0000)]
Merge "Cast hidl_pointer<T> to void*."

7 years agoMerge "Add a missing RIL request in iRadio.hal"
Sanket Padawe [Fri, 18 Nov 2016 01:42:19 +0000 (01:42 +0000)]
Merge "Add a missing RIL request in iRadio.hal"
am: d5e70d7f63

Change-Id: I57f2b156ab7131bff083acc49ee628942ac2f53e

7 years agoMerge "Add a missing RIL request in iRadio.hal"
Sanket Padawe [Fri, 18 Nov 2016 01:33:10 +0000 (01:33 +0000)]
Merge "Add a missing RIL request in iRadio.hal"

7 years agowifi: Add APF/feature-set wrappers in WifiLegacyHal
Roshan Pius [Fri, 18 Nov 2016 01:18:19 +0000 (01:18 +0000)]
wifi: Add APF/feature-set wrappers in WifiLegacyHal
am: 0a47c187b9

Change-Id: Idaa8f4932d44cde5ba4a69919e3833027782281c

7 years agowifi: Move legacy hal types to a new namespace (2/2)
Roshan Pius [Fri, 18 Nov 2016 01:18:18 +0000 (01:18 +0000)]
wifi: Move legacy hal types to a new namespace (2/2)
am: 6cedc97e95

Change-Id: I7c999625fb5a39d2568f39189905a67f9366d078

7 years agowifi: Move legacy hal types to a new namespace (1/2)
Roshan Pius [Fri, 18 Nov 2016 01:18:17 +0000 (01:18 +0000)]
wifi: Move legacy hal types to a new namespace (1/2)
am: 955542e9a2

Change-Id: I83e0e783077d2e3dd8103d494192c2652665977c

7 years agoAdd a missing RIL request in iRadio.hal
Sanket Padawe [Thu, 17 Nov 2016 23:28:31 +0000 (15:28 -0800)]
Add a missing RIL request in iRadio.hal

Test: no test

Bug: 32020264
Change-Id: I5b1584e5451c4c04e0a2902791140c4e7bd95549

7 years agowifi: Add APF/feature-set wrappers in WifiLegacyHal
Roshan Pius [Fri, 28 Oct 2016 17:23:00 +0000 (10:23 -0700)]
wifi: Add APF/feature-set wrappers in WifiLegacyHal

Add wrappers for retrieving the feature set supported by the device &
APF functionality.

Bug: 31991459
Test: Compiles
Change-Id: I34b8896a21e34f688374750faefd589eca2a4de1

7 years agoCast hidl_pointer<T> to void*.
Martijn Coenen [Thu, 17 Nov 2016 14:12:18 +0000 (15:12 +0100)]
Cast hidl_pointer<T> to void*.

hidl_pointer<T> can only allow one implicit conversion
operator, and native_handle_t* is the one that makes
most sense. Hence, this requires an explicit cast.

Bug: 32089785
Test: builds
Change-Id: Ie952ee2e4f0c20fa33f793403d51f3d550257310

7 years agowifi: Changes to WifiLegacy Hal
Roshan Pius [Thu, 17 Nov 2016 02:43:37 +0000 (02:43 +0000)]
wifi: Changes to WifiLegacy Hal
am: 511cc493e3

Change-Id: I2b78178e06ba7dbc0929ac8e0dc2c2a40443dfe6

7 years agowifi: Remove passthrough mode
Roshan Pius [Thu, 17 Nov 2016 00:57:06 +0000 (00:57 +0000)]
wifi: Remove passthrough mode
am: 23f9f30344

Change-Id: I54fe1971eb19c9e8e756f001424d28fe72189f0c

7 years agowifi: Stub implementation of WifiNanIface methods
Roshan Pius [Thu, 17 Nov 2016 00:57:05 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiNanIface methods
am: 0c92d446a2

Change-Id: I8be74c7b452e1a2fc36e86a55e1d8e749b3cdb70

7 years agowifi: Stub implementation of WifiRttController methods
Roshan Pius [Thu, 17 Nov 2016 00:57:03 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiRttController methods
am: 7913f5e49d

Change-Id: I45a075986e47dd3ed6feb5735c1fc8e396bf3ad0

7 years agowifi: Stub implementation of WifiStaIface methods
Roshan Pius [Thu, 17 Nov 2016 00:57:02 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiStaIface methods
am: a04ba3fcb8

Change-Id: Ie61978114eb86f11e3e8f56e15a6d4293bbf4c88

7 years agowifi: Stub implementation of WifiChip methods
Roshan Pius [Thu, 17 Nov 2016 00:57:01 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiChip methods
am: 7d08d7a16d

Change-Id: If81d1003542b4131448c11df5a3e7c00a6c00fab

7 years agowifi: Use hidl_return_util functions in Iface/Rtt
Roshan Pius [Thu, 17 Nov 2016 00:57:00 +0000 (00:57 +0000)]
wifi: Use hidl_return_util functions in Iface/Rtt
am: 907d4a234d

Change-Id: I224f3edf8aefe3e47e1604b457e5aa57b9c7a301

7 years agowifi: Use hidl_return_util functions in WifiChip
Roshan Pius [Thu, 17 Nov 2016 00:56:59 +0000 (00:56 +0000)]
wifi: Use hidl_return_util functions in WifiChip
am: 3c86852a2e

Change-Id: I69b20794be77270122718960ce8771ce1f451d40

7 years agowifi: Helper functions for invoking hidl cont callbacks
Roshan Pius [Thu, 17 Nov 2016 00:56:58 +0000 (00:56 +0000)]
wifi: Helper functions for invoking hidl cont callbacks
am: 5647665827

Change-Id: Id86ad2d1bf0a711622a5c1300437b027d08790d3

7 years agowifi: Make methods deliver status synchronously (3/3)
Roshan Pius [Thu, 17 Nov 2016 00:56:57 +0000 (00:56 +0000)]
wifi: Make methods deliver status synchronously (3/3)
am: 734fea0d98

Change-Id: I749781becee892317f741ca561ee825546870163

7 years agowifi: Make methods deliver status synchronously (2/3)
Roshan Pius [Thu, 17 Nov 2016 00:56:56 +0000 (00:56 +0000)]
wifi: Make methods deliver status synchronously (2/3)
am: 5c05546fc9

Change-Id: Icd12fff4544ffadd62cd8a040a37a6542b829695

7 years agowifi: Make methods deliver status synchronously (1/3)
Roshan Pius [Thu, 17 Nov 2016 00:56:55 +0000 (00:56 +0000)]
wifi: Make methods deliver status synchronously (1/3)
am: 503582ed94

Change-Id: I868296a715c673937a1ce17100b392ef02b3d196

7 years agowifi: Rename failure_reason_util to wifi_status_util
Roshan Pius [Thu, 17 Nov 2016 00:56:53 +0000 (00:56 +0000)]
wifi: Rename failure_reason_util to wifi_status_util
am: 1922482a5c

Change-Id: I32955402c44c8d4f6a961241d412efaeba508374

7 years agowifi(interface): Add status for all methods
Roshan Pius [Thu, 17 Nov 2016 00:56:52 +0000 (00:56 +0000)]
wifi(interface): Add status for all methods
am: 02caa1b821

Change-Id: I96bd199b2d739d5371b9f0cd761440df7cdc6eb3

7 years agowifi(interface): Add wifi host debug wake up reason stats
Roshan Pius [Thu, 17 Nov 2016 00:56:49 +0000 (00:56 +0000)]
wifi(interface): Add wifi host debug wake up reason stats
am: e0724f98b0

Change-Id: Ife791e5b1ca8046713a202e49b0a426b2c9abcae

7 years agowifi(interface): Add wifi debug packet fate related interface
Roshan Pius [Thu, 17 Nov 2016 00:56:48 +0000 (00:56 +0000)]
wifi(interface): Add wifi debug packet fate related interface
am: fe9ad36cb2

Change-Id: I63b0ff50906590a4af3b1854c89cd47ea12506cb

7 years agowifi(interface): Add wifi debug ring buffer related interface
Roshan Pius [Thu, 17 Nov 2016 00:56:47 +0000 (00:56 +0000)]
wifi(interface): Add wifi debug ring buffer related interface
am: e3a02b07b6

Change-Id: I1cac68e450cc87b8674ca00120964bf9dfcc0a9f

7 years agowifi(interface): Move all StaIface types to types.hal
Roshan Pius [Thu, 17 Nov 2016 00:56:46 +0000 (00:56 +0000)]
wifi(interface): Move all StaIface types to types.hal
am: 5e25466ebf

Change-Id: I2815c82897e31ea35fd6d0ae3e2e3feb20e750b6

7 years agowifi(interface): Fix compilation failure
Roshan Pius [Thu, 17 Nov 2016 00:56:45 +0000 (00:56 +0000)]
wifi(interface): Fix compilation failure
am: e03f736ca0

Change-Id: I687c4da68d93a7657991eb92cecb3f4e4c4d4986

7 years agowifi(interface): Rtt controller HIDL interface
Roshan Pius [Thu, 17 Nov 2016 00:56:44 +0000 (00:56 +0000)]
wifi(interface): Rtt controller HIDL interface
am: 18eec81adc

Change-Id: Idb2a967fe289216ad5e37a4f04ac15be7a97c215

7 years agowifi(interface): NAN HIDL interface
Roshan Pius [Thu, 17 Nov 2016 00:56:43 +0000 (00:56 +0000)]
wifi(interface): NAN HIDL interface
am: 120f94c594

Change-Id: I22788dd6cd85b18c06c7bca7de53e5c1fabf5d1f

7 years agowifi(interface): Link layer stats collection
Roshan Pius [Thu, 17 Nov 2016 00:56:42 +0000 (00:56 +0000)]
wifi(interface): Link layer stats collection
am: 18680b7aff

Change-Id: Id21f5179208d3b5671541747894fdd875d43d8f0

7 years agowifi(interface): Make methods synchronous
Roshan Pius [Thu, 17 Nov 2016 00:56:41 +0000 (00:56 +0000)]
wifi(interface): Make methods synchronous
am: a52dc7322d

Change-Id: Iee14349de899301b1b8b7ee8b1b0e24d61f5ac2c

7 years agowifi(interface): Add status for every method
Roshan Pius [Thu, 17 Nov 2016 00:56:40 +0000 (00:56 +0000)]
wifi(interface): Add status for every method
am: 1f9073cfcb

Change-Id: Ic839dad94f04d974f49f67ffd125ac302a9b4fea

7 years agowifi(interface): Add gscan/apf related API's
Roshan Pius [Thu, 17 Nov 2016 00:56:38 +0000 (00:56 +0000)]
wifi(interface): Add gscan/apf related API's
am: 7b77747bb5

Change-Id: Ib5efe1acd06649e65c88a3721e455725b2206778

7 years agowifi: Move legacy hal types to a new namespace (2/2)
Roshan Pius [Fri, 28 Oct 2016 17:11:17 +0000 (10:11 -0700)]
wifi: Move legacy hal types to a new namespace (2/2)

Changes in HIDL interface obejcts to use the new namespace for legacy
HAL.

Bug: 32242225
Test: Compiles
Change-Id: I7d0e9cee8656bd779a24d9eaede415317dceaf9b

7 years agowifi: Move legacy hal types to a new namespace (1/2)
Roshan Pius [Fri, 28 Oct 2016 16:42:44 +0000 (09:42 -0700)]
wifi: Move legacy hal types to a new namespace (1/2)

To prevent typename conflicts between the types in
"hardware_legacy/wifi_hal.h" and the HIDL interface,
Move all the legacy HAL types under a separate namespace (legacy_hal).

This is especially needed for Nan data types. Some of the typenames are
exactly the same in the legacy HAL header file and the HIDL interface.

Related changes,
Remove the use of |HalTool| class. This causes compilation failures
because it tries to include wifi_hal.h as well (but, that is now wrapped
inside a namespace).

Bug: 32242225
Test: Compiles
Change-Id: I937877798b81aea280d1797833745ae97fb02dc9

7 years agowifi: Changes to WifiLegacy Hal
Roshan Pius [Fri, 28 Oct 2016 16:54:26 +0000 (09:54 -0700)]
wifi: Changes to WifiLegacy Hal

Changes in the CL:
a. Removed the usage of wifi_status_util in WifiLegacyHal. The
|legacyErrorToString| log will be done in the HIDL object. This is to
remove any reference of |WifiStatus|
b. Moved the cleanup of function pointers to a separate helper function
|invalidate|.
c. Moved static constants out of WifiLegacyHal class.

Bug: 32505551
Test: Compiles
Change-Id: I9dc3900c40cf30de2c0a4376d4de2b08076e2b5f

7 years agowifi: Remove passthrough mode
Roshan Pius [Mon, 24 Oct 2016 20:33:51 +0000 (13:33 -0700)]
wifi: Remove passthrough mode

Wifi HAL is not going to support HIDL passthrough mode. So, remove the
target definition.

Bug: 32376894
Test: Compiles
Change-Id: I43740541f576746826d75c6ac48a11bb2a619227

7 years agowifi: Stub implementation of WifiNanIface methods
Roshan Pius [Fri, 28 Oct 2016 00:38:53 +0000 (17:38 -0700)]
wifi: Stub implementation of WifiNanIface methods

Bug: 31991076
Test: Compiles
Change-Id: Ia3723a14af20176c08e6e466e8b55bb32c8f9d41

7 years agowifi: Stub implementation of WifiRttController methods
Roshan Pius [Fri, 28 Oct 2016 00:09:30 +0000 (17:09 -0700)]
wifi: Stub implementation of WifiRttController methods

Bug: 31991232
Test: Compiles
Change-Id: I90f803ae19746ef844280cd8df96987e350f8a3f

7 years agowifi: Stub implementation of WifiStaIface methods
Roshan Pius [Thu, 27 Oct 2016 21:36:26 +0000 (14:36 -0700)]
wifi: Stub implementation of WifiStaIface methods

Bug: 32221997
Bug: 31991459
Test: Compiles
Change-Id: Iefc68958befc549fd9100b29f84cb6e6d73efe95

7 years agowifi: Stub implementation of WifiChip methods
Roshan Pius [Thu, 27 Oct 2016 21:35:05 +0000 (14:35 -0700)]
wifi: Stub implementation of WifiChip methods

Bug: 32221997
Test: Compiles
Change-Id: I627a05ce17d8b0e87101f395c3b3d6c10d3c440c

7 years agowifi: Use hidl_return_util functions in Iface/Rtt
Roshan Pius [Thu, 27 Oct 2016 19:48:12 +0000 (12:48 -0700)]
wifi: Use hidl_return_util functions in Iface/Rtt

Modify the WifiIface & WifiRttController methods to the use the new helper
functions.

Bug: 32337072
Test: Compiles
Change-Id: I8ce5450f3012ea3ad699db3c780c0bf985492aad

7 years agowifi: Use hidl_return_util functions in WifiChip
Roshan Pius [Thu, 27 Oct 2016 19:43:49 +0000 (12:43 -0700)]
wifi: Use hidl_return_util functions in WifiChip

Modify the WifiChip methods to the use the new helper functions.

Also,
1. Modify the WifiLegacyHal.requestDriverMemoryDump &
WifiLegacyHal.requestDriverMemoryDump to return a vector of |uint8_t|
instead of |char| to avoid unnecessary typecasting in the HIDL methods.
2. Remove |createHidlVecOfIfaceNames| helper function as most of the
necessary conversion should be handled by hidl_vec/hidl_string
constructors.

Bug: 32337072
Test: Compiles

Change-Id: Ic0b7aa2a5a078e53d5bc5bef18995a3cc0f548a1

7 years agowifi: Helper functions for invoking hidl cont callbacks
Roshan Pius [Wed, 26 Oct 2016 21:43:05 +0000 (14:43 -0700)]
wifi: Helper functions for invoking hidl cont callbacks

The helper functions are used to invoke an internal method which
implements the functionality and then invoke the HIDL callback
with the return values.

HIDL's auto-generated code uses on-stack callbacks to return
non-primitive/multiple values from HIDL methods. This is unwieldy and
the implementation of the method's functionality gets mixed up with the
semantics of handling these callbacks. This tries to hide the semantics
of HIDL auto-generated code from the functionality.

Converted all IWifi methods to use these new helper functions.

Bug: 32337072
Test: Compiles
Change-Id: I57cbafcc2ecb52ec5055f4bd80bc064bd438b850

7 years agowifi: Make methods deliver status synchronously (3/3)
Roshan Pius [Tue, 11 Oct 2016 15:30:28 +0000 (08:30 -0700)]
wifi: Make methods deliver status synchronously (3/3)

Make all the |IWifiIface|/|IWifiRttController| HIDL interface
methods return a synchronous status code. Change from using the event
callbacks to the synchronous callbacks for delivering status.

While there,
Use the default std::string to hidl_string constructor in status
callbacks.

Bug: 32056230
Bug: 32061909
Test: Compiles
Change-Id: Ifa06a11afb085bfd6684f7b997fb730d192018ea

7 years agowifi: Make methods deliver status synchronously (2/3)
Roshan Pius [Tue, 11 Oct 2016 15:27:27 +0000 (08:27 -0700)]
wifi: Make methods deliver status synchronously (2/3)

Make all the |IWifiChip| HIDL interface methods return a synchronous
status code. Change from using the event callbacks to the synchronous
callbacks for delivering status.

While there,
1. Use std::tie to retrive values out of the legacy HAL functions returning
a pair.
2. Use the std::vector to hidl_vec constructor for returning vector of
ifnames.

Bug: 32056230
Bug: 32061909
Test: Compiles
Change-Id: Iac27521be17cd9852df04ad7d412e09160a08d33

7 years agowifi: Make methods deliver status synchronously (1/3)
Roshan Pius [Tue, 11 Oct 2016 15:25:30 +0000 (08:25 -0700)]
wifi: Make methods deliver status synchronously (1/3)

Make the following |IWifi| HIDL interface methods return a synchronous
status code:
a) start()
b) stop()
The other methods in this interface do not have a failure case and hence
not returning a status code.

This changes the nature of event callbacks registered for each
interface. Previously, every operation's status was sent to all the
registered event callbacks. Now, only the caller is notified of the
operation's status via the passed synchronous callbacks. The event
callbacks are now used to broadcast only important state changes/events.

Bug: 32056230
Bug: 32061909
Test: Compiles
Change-Id: I95dc3fa139ac3ac7500d81e9e0dbc4f4de04e127

7 years agowifi: Rename failure_reason_util to wifi_status_util
Roshan Pius [Tue, 11 Oct 2016 15:21:46 +0000 (08:21 -0700)]
wifi: Rename failure_reason_util to wifi_status_util

The HIDL interface now returns a |WifiStatus| instance to indicate the
status of any operation. This is replacing the existing asynchronous
delivery of success or failure (using |FailureReason| instance).

Rename the existing util class to |wifi_status_util| and add a couple of
methods to create a |WifiStatus| instance with empty description.

Bug: 32056230
Test: Compiles
Change-Id: I8488f7cd7d6ad6bd7a0c3c82a7ef83299d877d45

7 years agowifi(interface): Add status for all methods
Roshan Pius [Wed, 26 Oct 2016 22:56:17 +0000 (15:56 -0700)]
wifi(interface): Add status for all methods

Add missing status returns for a few HIDL methods. This is to keep the
interface consistent.

Bug: 32146455
Test: update_makefile.sh
Change-Id: Ia66fe4d00e884e5ce1e1906db77bb5ffdaebffdd

7 years agowifi(interface): Add wifi host debug wake up reason stats
Roshan Pius [Thu, 20 Oct 2016 16:33:26 +0000 (09:33 -0700)]
wifi(interface): Add wifi host debug wake up reason stats

These stats are used to determine if the device is being woken up
frequently by the wlan chipset. The stats structure describe all the
various resons for which the host was woken up by the wlan chipset
(firmware).

Bug: 32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Id52915348fef0283affcd834c6f1db5055e54ace

7 years agowifi(interface): Add wifi debug packet fate related interface
Roshan Pius [Wed, 19 Oct 2016 23:45:12 +0000 (16:45 -0700)]
wifi(interface): Add wifi debug packet fate related interface

The packet fate debug mechanism is used to track the state of all the
packets transmitted/received during the association process.

Also,
Add the various debug capabilities in the respective interfaces.
All ring buffer, driver/firmware dump, etc related capabilities are in
IWifiChip object.
The packet fate capability is exposed in IWifiStaIface object.

Bug: 32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Ic6bf49d682b70a1cdcd18c69fc25a544921bd548

7 years agowifi(interface): Add wifi debug ring buffer related interface
Roshan Pius [Wed, 19 Oct 2016 19:31:01 +0000 (12:31 -0700)]
wifi(interface): Add wifi debug ring buffer related interface

The debug ring buffers is a purely debug mechanism to let the driver
report debug info like connection events, power events, etc to the
framework.
The framework used to previously dump out the raw byte stream in
the bugreport and the vendors had some tools to parse out the data.
This is now being changed to provide the framework with the
internal ring buffer structs to ease parsing this data in framework
itself. This will eventually be used in the new wifilogd daemon.

Bug: 32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I2c90662cfa9d07ae6fc72198a286338dbaacbfc2

7 years agowifi(interface): Move all StaIface types to types.hal
Roshan Pius [Wed, 26 Oct 2016 17:10:48 +0000 (10:10 -0700)]
wifi(interface): Move all StaIface types to types.hal

Some of these structs are used in the debug framework and hence needs to
live in types.hal. Add a |Sta| prefix to differentiate them from other
types similar to what is done for Nan and Rtt types.

Bug: 31991459
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Idc49b28447609c4334b0a086481c404c06a63fea

7 years agowifi(interface): Fix compilation failure
Roshan Pius [Fri, 14 Oct 2016 21:53:43 +0000 (14:53 -0700)]
wifi(interface): Fix compilation failure

Changes in the CL:
a) Unions are not allowed in the HIDL generated code that is going to be
used in java.
b) Few RTT constants were defined twice in the legacy rtt.h. One set
as enums, the other set as #define's. Remove the duplicated values in
the HIDL interface.

Bug: 31991076
Bug: 31991232
Test: mmm -j32 hardware/interfaces/wifi/1.0/
Change-Id: I03db70c7b89c0be53a7754ab8b34a19ad2c6e536

7 years agowifi(interface): Rtt controller HIDL interface
Roshan Pius [Fri, 14 Oct 2016 18:29:30 +0000 (11:29 -0700)]
wifi(interface): Rtt controller HIDL interface

Bug: 31991232
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I53b95e85ee8a71bcb0494420913c9511f87908c0

7 years agowifi(interface): NAN HIDL interface
Roshan Pius [Thu, 13 Oct 2016 18:48:42 +0000 (11:48 -0700)]
wifi(interface): NAN HIDL interface

Interface is mostly a replication of the wifi_nan.h HAL header file.
1. All the methods are in |IWifiNanIface|.
2. Moved all the callbacks to |IWifiNanIfaceEventCallback.hal|.
2. Moved all the data types to |types.hal|.
3. Changed all the variable size arrays to vecs.

Bug: 31991076
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I2af0b0003cf30a0f2bfdcb56b69c492cf831745b

7 years agowifi(interface): Link layer stats collection
Roshan Pius [Wed, 12 Oct 2016 15:25:48 +0000 (08:25 -0700)]
wifi(interface): Link layer stats collection

Add HIDL methods for STA iface link layer stats.

While there,
Add the missing gscan API for fetching a list of channels for a given
band.

Bug:31991459
Test: Compiles
Change-Id: I5d448eb823faae4e8f5c25f746cf59e70df454cf

7 years agowifi(interface): Make methods synchronous
Roshan Pius [Mon, 10 Oct 2016 18:53:07 +0000 (11:53 -0700)]
wifi(interface): Make methods synchronous

Having all the HIDL methods asynchronous, makes it hard for the
calling code to keep track of the operation status/result.
There are some operations which will generate asynchronous results (like
bgscan), convert all the other methods to synchronous methods.

The |EventCallback| objects will now just broadcast important events
(needed for other clients to listen for state changes). This will no
longer be used to send responses to every command sent to the HAL.

Bug: 32061909
Test: `./hardware/interfaces/update-makefiles.sh`
Change-Id: Id2433f4c8e028268dd027cdeb239ba4082b157b5

7 years agowifi(interface): Add status for every method
Roshan Pius [Mon, 10 Oct 2016 17:32:22 +0000 (10:32 -0700)]
wifi(interface): Add status for every method

Add a status parameter for every HIDL interface object method which can
possibly become invalid. This should help inform the caller that the
object being used is stale/invalid now.

While there,
Rename |CommandFailureReson| to |FailureReasonCode|.

NOTE: |FailureReason| will continue to indicate any errors during the
processing of the command via the corresponding |onFailure| callback.

Bug: 32056230
Test: Compiles
Change-Id: I2ec5af3075221e483579410f344bcedd6bf17a93

7 years agowifi(interface): Add gscan/apf related API's
Roshan Pius [Fri, 7 Oct 2016 20:15:59 +0000 (13:15 -0700)]
wifi(interface): Add gscan/apf related API's

Changes in the CL:
1. Add gscan/APF related API's to |IWifiStaIface|.
2. Add a new callback HIDL interface (|IWifiStaIfaceEventCallback)
for all callbacks received from |IWifiStaIface|.

Bug: 31991459
Test: Compiles
Change-Id: Id9f2ded9e20bee393ab53d84efa814d52704cd2c

7 years agosupplicant(interface): Fix compilation failure
Roshan Pius [Wed, 16 Nov 2016 19:00:29 +0000 (19:00 +0000)]
supplicant(interface): Fix compilation failure
am: 9e01c51793

Change-Id: Ib0fa885cb256ca000ca04e3bface3690bbd6f1fc

7 years agosupplicant(interface): Fix compilation failure
Roshan Pius [Wed, 16 Nov 2016 18:29:37 +0000 (10:29 -0800)]
supplicant(interface): Fix compilation failure

The generated code uses the variable |code| internally.

Bug: 31116047
Test: mmm -j32 hardware/interfaces/wifi/supplicant/1.0/
Change-Id: Ic6d0c9a198a026460f67fa4920b8003a304f6727

7 years agoMerge "supplicant(interface): Add support for Hotspot 2.0"
Roshan Pius [Wed, 16 Nov 2016 17:32:37 +0000 (17:32 +0000)]
Merge "supplicant(interface): Add support for Hotspot 2.0"
am: 06a3daad19

Change-Id: I6784df7d3dcc34483f4b7c681d64d4d4e76c9fc0

7 years agoMerge "supplicant(interface): Add support for Hotspot 2.0"
Roshan Pius [Wed, 16 Nov 2016 17:24:12 +0000 (17:24 +0000)]
Merge "supplicant(interface): Add support for Hotspot 2.0"

7 years agosupplicant(interface): Add support for Hotspot 2.0
Roshan Pius [Wed, 9 Nov 2016 17:55:42 +0000 (09:55 -0800)]
supplicant(interface): Add support for Hotspot 2.0

HIDL interface to
a) Initiate ANQP queries & icon queries for hotspot 2.0
b) Add callbacks for the reception of WNM frames (hotspot
remediation, deauth imminent notice).

Bug: 31116047
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Ib3353f04b493f50c6415d1f3475efa957d921540

7 years agoMerge "Run boot HAL service as root"
Connor O'Brien [Thu, 10 Nov 2016 20:40:54 +0000 (20:40 +0000)]
Merge "Run boot HAL service as root"
am: 72882f05ec

Change-Id: I524ad08c38268fb37d51a1006b72c263bf9b2cd5

7 years agoMerge "Run boot HAL service as root"
Connor O'Brien [Thu, 10 Nov 2016 20:23:00 +0000 (20:23 +0000)]
Merge "Run boot HAL service as root"

7 years agoMerge "Extend Telephony HIDL interface to include unsolicited RIL commands."
Sanket Padawe [Thu, 10 Nov 2016 00:05:40 +0000 (00:05 +0000)]
Merge "Extend Telephony HIDL interface to include unsolicited RIL commands."
am: d91322ea43

Change-Id: I47481fb3f145fe5e53649716b989dd4120556518

7 years agoMerge "Extend Telephony HIDL interface to include unsolicited RIL commands."
Treehugger Robot [Wed, 9 Nov 2016 23:58:36 +0000 (23:58 +0000)]
Merge "Extend Telephony HIDL interface to include unsolicited RIL commands."

7 years agoExtend Telephony HIDL interface to include unsolicited RIL commands.
Sanket Padawe [Wed, 9 Nov 2016 22:21:31 +0000 (14:21 -0800)]
Extend Telephony HIDL interface to include unsolicited RIL commands.

Bug:32020264
Test: No test, only interface.
Change-Id: I242cfd3cffb43531025da37d079d7a68b55d7ca3

7 years agoMerge "supplicant(interface): Support P2P operations"
Roshan Pius [Wed, 9 Nov 2016 18:09:08 +0000 (18:09 +0000)]
Merge "supplicant(interface): Support P2P operations"
am: 849d24ccbf

Change-Id: I869c9f455430aa8ed890c35030bdace596f1ef1f

7 years agoMerge "supplicant(interface): Support P2P operations"
Roshan Pius [Wed, 9 Nov 2016 18:01:55 +0000 (18:01 +0000)]
Merge "supplicant(interface): Support P2P operations"

7 years agoUpdate Android.bp to reexport dependent packages.
Yifan Hong [Wed, 9 Nov 2016 07:33:27 +0000 (07:33 +0000)]
Update Android.bp to reexport dependent packages.
am: 1eb8f1cc1f

Change-Id: I21e266b83a89a1858d6c5f7fab6592bac5c95b30

7 years agoUpdate Android.bp to reexport dependent packages.
Yifan Hong [Mon, 7 Nov 2016 22:40:40 +0000 (14:40 -0800)]
Update Android.bp to reexport dependent packages.

b/32710416
Test: mma
Change-Id: Iaca7300c366c2c9e860a29e6a111248d315cc5b4

7 years agoRun boot HAL service as root
Connor O'Brien [Wed, 9 Nov 2016 00:14:55 +0000 (16:14 -0800)]
Run boot HAL service as root

The service must run as root to access block devices required by
the existing implementation.

Test: bootctl is-slot-bootable 1
Change-Id: I882cba8ad24943781d5c447b67518acc03efc9a8
Signed-off-by: Connor O'Brien <connoro@google.com>
7 years agoNFC: Add Annotations to the HAL file
Ruchi Kandoi [Mon, 31 Oct 2016 23:11:13 +0000 (16:11 -0700)]
NFC: Add Annotations to the HAL file

Test: Compiles
Bug: 32124874
Change-Id: Id31199a0dc55afc32835868c3e9ee1e2075648cc
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
7 years agosupplicant(interface): Support P2P operations
Roshan Pius [Mon, 7 Nov 2016 18:29:48 +0000 (10:29 -0800)]
supplicant(interface): Support P2P operations

Add methods for all the P2P related operations. This is a subset of P2P
functionalities exposed by wpa_supplicant used in the Android codebase
currently.

While there,
Add missing |FAILURE_ARGS_INVALID| status code in the setter methods in
ISupplicantStaNetwork.hal

Bug: 31497295
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I657ef6deaa6203bcf890c43f98a32f6230962d04

7 years agoMerge "Support genrules with multiple tools"
Colin Cross [Mon, 7 Nov 2016 20:39:02 +0000 (20:39 +0000)]
Merge "Support genrules with multiple tools"
am: 5222c47773

Change-Id: I2953299775fa7fbc5149ebfcc271d2d2b3cf06ff

7 years agoMerge "Support genrules with multiple tools"
Colin Cross [Mon, 7 Nov 2016 20:28:25 +0000 (20:28 +0000)]
Merge "Support genrules with multiple tools"

7 years agoSupport genrules with multiple tools
Colin Cross [Fri, 4 Nov 2016 22:02:42 +0000 (15:02 -0700)]
Support genrules with multiple tools

To allow genrules with more than one tool, rename the tool property to
tools and make it an array, replace $tool with $(location <label>),
and use $() for other variables for consistency.

Bug: 31948427
Test: compare build.ninja
Change-Id: I3d714f70a2af0dc60faeee10e09b6ed166601f1d
(cherry picked from commit b785f5b82ef2efa62ca9d7288cfff64c178080b0)

7 years agoMerge "supplicant(interface): Remove "wpa_supplicant""
Roshan Pius [Fri, 4 Nov 2016 23:36:50 +0000 (23:36 +0000)]
Merge "supplicant(interface): Remove "wpa_supplicant""
am: 22373cb4b8

Change-Id: Ieeaf40cb870aec8ff420e2f99f64f732129b3993