Commit graph

248 commits

Author SHA1 Message Date
Yifan Hong
e19e582bd5 Update makefiles for hidlizing IBase.
A new dependency android.hidl.base@1.0 is added for
all projects.

Also updated Android.mk for NFC hal (for java constants)

Test: mma

Change-Id: Ia70d0eb0d74de06475a339698386d383d491a43a
2016-12-03 01:08:59 -08:00
Treehugger Robot
2ed821d5fe Merge "Test interface for hidlized IMemory." 2016-12-02 20:33:12 +00:00
Roshan Pius
786c00d72e Merge "wifi: Don't include legacy hal header in wifi_status_util" 2016-12-02 20:29:01 +00:00
Treehugger Robot
3ff50102ed Merge "wifi: Add utility for struct conversions" 2016-12-02 18:21:45 +00:00
Martijn Coenen
0cb4a94083 Test interface for hidlized IMemory.
Test: hidl_test
Change-Id: I9d6260092bf58406905e543065319bc1f4db119f
2016-12-02 08:53:17 -08:00
Roshan Pius
a4854ff317 wifi: Don't include legacy hal header in wifi_status_util
This was missed from the cleanup when we moved the libhardware_legacy
header inside the legacy_hal:: namespace.

Bug: 33274910
Test: Compiles
Change-Id: I233f5478733427c739d30bf41f20f120a4c4199a
2016-12-02 08:32:14 -08:00
Roshan Pius
e65edb1b73 wifi: Add utility for struct conversions
Add a new utility file (hidl_struct_util) which would contain helper
functions to convert legacy HAL structures to HIDL structures and vice
versa.
Added utility functions to convert:
1. Background scan params from HIDL to legacy.
2. Scan Result from legacy to HIDL.
3. Cached Scan results from legacy to HIDL.
4. Link layer stats from legacy to HIDL.

Bug: 31991459
Test: Compiles
Change-Id: I48a49b43d425f8cc3059241c4bd652b2346f2381
2016-12-02 08:31:33 -08:00
Treehugger Robot
48f6298fa3 Merge "Update to use the correct logging library." 2016-12-02 07:40:56 +00:00
Yifan Hong
65cbd60e1f Update to use the correct logging library.
Test: compiles
Change-Id: Ia5030c4d7ef95c5878c6b320d5bc30041023728f
2016-12-01 15:58:37 -08:00
Treehugger Robot
5329acb61f Merge "Revert "Use get instead of implicit cast on Return<*>."" 2016-12-01 20:55:39 +00:00
Treehugger Robot
832f1a7978 Merge "Always specify underlying enum type." 2016-12-01 17:15:54 +00:00
Steven Moreland
fafbbd7026 Revert "Use get instead of implicit cast on Return<*>."
This reverts commit dc5f84f993.

Change-Id: Ib81f732d1e0b822a5f53cbc7ed8a13e146ad8b7a
2016-12-01 08:20:32 -08:00
Treehugger Robot
13be232d7b Merge "Wifi: don't require C++11." 2016-12-01 01:25:42 +00:00
Steven Moreland
fd46bce1a9 Wifi: don't require C++11.
C++14 has been officially supported in the build system for a while now.
(see b/32019064).

Test: pass
Change-Id: I328b0bcf9e5c32e209e4efc1ac5b96afdb542a5a
2016-11-30 15:45:17 -08:00
Ruchi Kandoi
cca3e97d63 Merge "NFC: Add @exports to generate nfc-base.h headers." 2016-11-30 20:45:03 +00:00
Yifan Hong
f5e1ac67ed Merge "Update to use the correct library for logging." 2016-11-30 20:31:25 +00:00
Steven Moreland
73600f7955 Always specify underlying enum type.
Bug: 33197891
Test: compiles
Change-Id: I3d4822ea9a665708302d3bd1460425fddf1dcda9
2016-11-29 14:12:34 -08:00
Yifan Hong
0c4c7a30c2 Update to use the correct library for logging.
Generates: b/33193497
Test: mma
Change-Id: Ib8bfc4d2f1d68947099e4756f661ed06689ffd62
2016-11-29 13:10:15 -08:00
Treehugger Robot
9f518064de Merge changes I304a5d9d,Ied19d9ec,Ie6c03aee
* changes:
  wifi: Add NAN API wrappers in WifiLegacyHal
  wifi: Add RTT API wrappers in WifiLegacyHal
  wifi: Add logger/debug API wrappers in WifiLegacyHal
2016-11-29 17:55:36 +00:00
Ruchi Kandoi
99535bc942 NFC: Add @exports to generate nfc-base.h headers.
Test: Generates headers using hidl-gen
Bug: 32748647
Change-Id: I20bf4329a7fbad1096798db060a2ea5be695c62e
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2016-11-28 17:34:15 -08:00
Ruchi Kandoi
51068e0bd3 Nfc: Change return types for Nfc hal to specified type.
Test: Compiles and test passes
Bug: 32998929
Change-Id: I6787b90e5e745b32c7a5a951203496cc614fdc10
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2016-11-29 01:14:26 +00:00
Roshan Pius
2301209a9a wifi: Add NAN API wrappers in WifiLegacyHal
NAN API's are inherently asynchronous. So, add a function for registering
the various callbacks and add wrappers for all other NAN API's.

Bug: 31991076
Test: Compiles
Change-Id: I304a5d9d41b684f0778e0ace3601380153068e12
2016-11-28 15:31:19 -08:00
Roshan Pius
d8e915ab99 wifi: Add RTT API wrappers in WifiLegacyHal
These are just wrapper methods over the legacy RTT related HAL API's.
Note: Some of the RTT related API's have been intentionally left off
because they're no longer used.

Bug: 31991232
Test: Compiles
Change-Id: Ied19d9ec1d4347ead0c40ab3683a1a0bae704f90
2016-11-28 15:31:19 -08:00
Roshan Pius
8714a3e103 wifi: Add logger/debug API wrappers in WifiLegacyHal
Legacy HAL wrappers for the following debug functions:
1. Wake reason stats
2. Packet fate
3. Supported feature set
4. Ring buffer.

Bug: 32221997
Test: Compiles
Change-Id: Ie6c03aeefb0b6e711419cfa5451cddbeb3069cd0
2016-11-28 15:31:08 -08:00
Steven Moreland
dc5f84f993 Use get instead of implicit cast on Return<*>.
Bug: 31348667
Test: hidl_test
Change-Id: Icc22f440077feeff1119ca7b2b44fab684b453db
2016-11-28 12:06:22 -08:00
Treehugger Robot
2fe5762cae Merge "Update makefiles for logging." 2016-11-24 16:41:20 +00:00
Steven Moreland
33e87b8a76 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
2016-11-22 15:34:39 -08:00
Martijn Coenen
403161ab73 Use newly introduced hidl_handle.
Bug: 32089785
Test: builds
Change-Id: I27c7d3945e1fe390661bf322987011a00fe9b3fe
2016-11-22 12:17:58 +01:00
Treehugger Robot
88fb149b8e Merge changes I7c418811,I0870eae0
* changes:
  wifi: Add link layer stats API wrappers in WifiLegacyHal
  wifi: Add gscan API wrappers in WifiLegacyHal
2016-11-22 01:06:51 +00:00
Steven Moreland
3e3a0998e0 Update makefiles for logging.
Bug: 32943424
Test: hidl_test
Change-Id: I86dc81935912861073497c07696378895a25f9ee
2016-11-21 16:19:57 -08:00
Ruchi Kandoi
3bca1eef75 Merge "NFC: Add Annotations to the HAL file" 2016-11-21 22:53:01 +00:00
Roshan Pius
7cece41299 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
2016-11-21 10:57:45 -08:00
Roshan Pius
76ff302d57 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
2016-11-21 10:57:45 -08:00
Yifan Hong
63544eacb6 Split libhidl into base and transport.
Bug: 32756130

Test: mma
Change-Id: Id21cf23abe2910f26bb7895511862443b93dc112
2016-11-18 09:52:57 -08:00
Martijn Coenen
6033952ff1 Merge "Cast hidl_pointer<T> to void*." 2016-11-18 08:03:39 +00:00
Sanket Padawe
d5e70d7f63 Merge "Add a missing RIL request in iRadio.hal" 2016-11-18 01:33:10 +00:00
Sanket Padawe
f6e345ac01 Add a missing RIL request in iRadio.hal
Test: no test

Bug: 32020264
Change-Id: I5b1584e5451c4c04e0a2902791140c4e7bd95549
2016-11-17 15:28:31 -08:00
Roshan Pius
0a47c187b9 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
2016-11-17 08:09:10 -08:00
Martijn Coenen
65c86c08a1 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
2016-11-17 15:29:36 +01:00
Roshan Pius
6cedc97e95 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
2016-11-16 14:57:08 -08:00
Roshan Pius
511cc493e3 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
2016-11-16 14:57:07 -08:00
Roshan Pius
955542e9a2 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
2016-11-16 14:57:07 -08:00
Roshan Pius
23f9f30344 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
2016-11-16 14:57:07 -08:00
Roshan Pius
0c92d446a2 wifi: Stub implementation of WifiNanIface methods
Bug: 31991076
Test: Compiles
Change-Id: Ia3723a14af20176c08e6e466e8b55bb32c8f9d41
2016-11-16 14:57:07 -08:00
Roshan Pius
7913f5e49d wifi: Stub implementation of WifiRttController methods
Bug: 31991232
Test: Compiles
Change-Id: I90f803ae19746ef844280cd8df96987e350f8a3f
2016-11-16 14:57:07 -08:00
Roshan Pius
a04ba3fcb8 wifi: Stub implementation of WifiStaIface methods
Bug: 32221997
Bug: 31991459
Test: Compiles
Change-Id: Iefc68958befc549fd9100b29f84cb6e6d73efe95
2016-11-16 14:57:07 -08:00
Roshan Pius
7d08d7a16d wifi: Stub implementation of WifiChip methods
Bug: 32221997
Test: Compiles
Change-Id: I627a05ce17d8b0e87101f395c3b3d6c10d3c440c
2016-11-16 14:57:07 -08:00
Roshan Pius
907d4a234d 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
2016-11-16 14:57:07 -08:00
Roshan Pius
3c86852a2e 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
2016-11-16 14:57:07 -08:00
Roshan Pius
5647665827 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
2016-11-16 14:57:07 -08:00