Commit Graph

13 Commits

Author SHA1 Message Date
Steven Moreland
fb8821066d wifi: Removing reference to IServiceManager.h.
Bug: 32313592
Test: make

Change-Id: If1b842c563b5934b58fb328c2f2315c42ae6fc06
2016-10-21 12:36:19 -07:00
Roshan Pius
f243631af8 wifi: Invoke failure callbacks
Invoke the failure callbacks for |requestChipDebugInfo|,
|requestDriverDebugDump| and |requestFirmwareDebugDump| methods.

Bug: 32014425
Test: Compiles
Change-Id: I49b8ae93fe846df6d9663b10d2a70eb89bd00931
2016-10-11 07:46:24 -07:00
Roshan Pius
5926828728 wifi: Add WifiRttController object
Create the WifiRttController object and add the createRttController
method in WifiChip.

Bug: 31991232
Test: Compiles
Change-Id: I34649097c96488c660bef5acceac1a6478f80dca
2016-10-11 07:46:24 -07:00
Roshan Pius
35d958c43f wifi: Add Iface related method implementations in WifiChip
Add the iface creation/retrieval/list method implementations in WifiChip.
WifiChip does not yet support the chip mode configuration. So, all
|createIface| method calls succeed today. Once the mode configuration
changes are in place, we will deny iface creation requests depending on
the iface combination supported in the current mode.

The iface objects are all invalidated and deleted on mode switches and
when HAL is stopped.

While there,
Change the |callbacks_| member to std::vector instead of std::set. We
don't really need a set to store the list of callbacks.

Bug: 31943042
Test: Compiles
Change-Id: Ic94864c8b11aabbe569b5157d68d6056364a3c4c
2016-10-11 07:46:24 -07:00
Roshan Pius
3e2d671a4c wifi: Add the various iface object implementation
This CL adds the implementation classes for the various iface HIDL
interfaces defined. These classes implement the
|getName| & |getType| methods in the Iface HIDL interface.

Integration of these objects with WifiChip class is implemented in the
next CL.

Bug: 31943042
Test: Compiles
Change-Id: I219afd6441e15c76cf7c61f7bcd2b3568dba2b98
2016-10-11 07:46:24 -07:00
Roshan Pius
ab5c471b0b wifi: Remove "Wlan" prefix from wifi_legacy_hal public methods
All the legacy HAL API's in the function table uses the "wlan0"
interface handle for the various operations. But, this is an internal
detail that should be abstracted inside WifiLegacyHal class. So, rename
the public methods to remove the "Wlan" prefix from them.

Also, add methods to fetch the iface names to use for the various types
of HAL.

Bug: 31943042
Test: Compiles
Change-Id: I35a6cdea0ad7cff295d33c0245953258129fba43
2016-10-11 07:46:24 -07:00
Roshan Pius
cd566bddd7 wifi: Add support for multiple chips in IWifi
The modified HIDL interface supports multiple chip instances on the
device. Modify the |IWifi| interface implementation to support the new
methods.

NOTE: The legacy HAL implementation will continue to only expose 1 chip.

While there,
Change the |callbacks_| member to std::vector instead of std::set. We
don't really need a set to store the list of callbacks.

Bug: 32003988
Test: Compiles
Change-Id: I31e704100f716e223095890279bdf93d2a04377e
2016-10-11 07:46:24 -07:00
Roshan Pius
cdb77f3cf2 wifi: Add implementation of driver/firmware memory dumps
Bug: 31352200
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I25d42cfd4c2b1ea7e63bdc036f37f81aed93c565
2016-10-05 09:22:06 -07:00
Roshan Pius
4b26c832ed wifi: Add Implementation of IWifiChip.requestChipDebugInfo
Bug: 31352200
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: Id0c02e37dac66de6f830785881cb67f113c0fb19
2016-10-05 09:21:07 -07:00
Roshan Pius
908a69a53a wifi: Use hal_tool & if_tool
Changes in the CL:
1. Currently |WifiNative.cpp|, uses |hal_tool| to initialize the
function table and |if_tool| to set the interface up when |startHAL|
method is invoked. Use the same sequence in the HIDL'ized HAL.
2. Remove the assertion if the function table initialization fails. This
will result in a failure indication on starting the HAL now.

Bug: 31352200
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I268845ed62158b6a2ff36659f0bb15c4100a7222
2016-10-04 18:36:25 -07:00
Roshan Pius
aabe575536 wifi: Restructure wifi legacy HAL implementation
Restructured the existing code to create a new class called
|WifiLegacyHal|. This class will be used as a wrapper to invoke
all the legacy HAL functions and handle the "C" style callbacks.

Bug: 31936700
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I63e8543f49886f8446101320a97d1e96e30d1035
2016-10-04 18:36:22 -07:00
Roshan Pius
79a9975d07 wifi: Change namespace
Move the implementation to "android::hardware::wifi:V1_0::implementation"
namespace.
This is following the style guidelines in NFC HIDL
implementation(go/aog/279421).

While there,
Run checkstyle to correct formatting issues.

Bug:31936700
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I5600a60a0041b3318ed9289823ec335a8ed8a83d
2016-10-04 13:23:20 -07:00
Roshan Pius
3c4e8a358c wifi: Move legacy HAL implementation
Changes in the CL:
1. Move the legacy HAL implementation from
"frameworks/opt/net/wifi/wifi_hal_legacy" to
"hardware/interfaces/wifi/1.0/default".
2. Renamed the .rc file and the module name in makefile to
conform to the HIDL style guide.

Files renamed from:
wifi_hal_service.cpp/h -> wifi.cpp/h
wifi_chip_service.cpp/h -> wifi_chip.cpp/h
main.cpp -> service

Bug: 31821133
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I5e65e2fdb5596346bde6963588031dcea42d633a
2016-10-04 13:10:25 -07:00