[WIFI][TREBLE] Uprev Wi-Fi HAL 1.2

In preparation for new feature development - uprev the Wi-Fi Treble HAL
revision from 1.1 to 1.2.

This CL does not contain any functional changes to the HAL itself. Only
updating the revision.

Bug: 65647646
Test: builds and Wi-Fi runs
Change-Id: I8e80e866562a508bf481104a3dbcf2bd8f8015b4
This commit is contained in:
Etan Cohen
2017-09-14 07:30:57 -07:00
parent 9b2f0f1926
commit 6ce5090854
39 changed files with 257 additions and 63 deletions

73
wifi/1.2/Android.bp Normal file
View File

@@ -0,0 +1,73 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
filegroup {
name: "android.hardware.wifi@1.2_hal",
srcs: [
"IWifi.hal",
"IWifiChip.hal",
],
}
genrule {
name: "android.hardware.wifi@1.2_genc++",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.wifi@1.2",
srcs: [
":android.hardware.wifi@1.2_hal",
],
out: [
"android/hardware/wifi/1.2/WifiAll.cpp",
"android/hardware/wifi/1.2/WifiChipAll.cpp",
],
}
genrule {
name: "android.hardware.wifi@1.2_genc++_headers",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.wifi@1.2",
srcs: [
":android.hardware.wifi@1.2_hal",
],
out: [
"android/hardware/wifi/1.2/IWifi.h",
"android/hardware/wifi/1.2/IHwWifi.h",
"android/hardware/wifi/1.2/BnHwWifi.h",
"android/hardware/wifi/1.2/BpHwWifi.h",
"android/hardware/wifi/1.2/BsWifi.h",
"android/hardware/wifi/1.2/IWifiChip.h",
"android/hardware/wifi/1.2/IHwWifiChip.h",
"android/hardware/wifi/1.2/BnHwWifiChip.h",
"android/hardware/wifi/1.2/BpHwWifiChip.h",
"android/hardware/wifi/1.2/BsWifiChip.h",
],
}
cc_library {
name: "android.hardware.wifi@1.2",
defaults: ["hidl-module-defaults"],
generated_sources: ["android.hardware.wifi@1.2_genc++"],
generated_headers: ["android.hardware.wifi@1.2_genc++_headers"],
export_generated_headers: ["android.hardware.wifi@1.2_genc++_headers"],
vendor_available: true,
vndk: {
enabled: true,
},
shared_libs: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"liblog",
"libutils",
"libcutils",
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
],
export_shared_lib_headers: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"libutils",
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.1",
],
}

64
wifi/1.2/Android.mk Normal file
View File

@@ -0,0 +1,64 @@
# This file is autogenerated by hidl-gen. Do not edit manually.
LOCAL_PATH := $(call my-dir)
################################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.wifi-V1.2-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
LOCAL_JAVA_LIBRARIES := \
android.hardware.wifi-V1.0-java \
android.hardware.wifi-V1.1-java \
android.hidl.base-V1.0-java \
LOCAL_NO_STANDARD_LIBRARIES := true
LOCAL_JAVA_LIBRARIES += core-oj hwbinder
#
# Build IWifi.hal
#
GEN := $(intermediates)/android/hardware/wifi/V1_2/IWifi.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifi.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.2::IWifi
$(GEN): $(LOCAL_PATH)/IWifi.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build IWifiChip.hal
#
GEN := $(intermediates)/android/hardware/wifi/V1_2/IWifiChip.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiChip.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.2::IWifiChip
$(GEN): $(LOCAL_PATH)/IWifiChip.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_JAVA_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))

29
wifi/1.2/IWifi.hal Normal file
View File

@@ -0,0 +1,29 @@
/*
* Copyright 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.wifi@1.2;
import @1.1::IWifi;
/**
* This is the root of the HAL module and is the interface returned when
* loading an implementation of the Wi-Fi HAL. There must be at most one
* module loaded in the system.
* IWifi.getChip() may return either a @1.0::IWifiChip or @1.1::IWifiChip
* or @1.2:IWifiChip
*/
interface IWifi extends @1.1::IWifi {
};

27
wifi/1.2/IWifiChip.hal Normal file
View File

@@ -0,0 +1,27 @@
/*
* Copyright 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.wifi@1.2;
import @1.1::IWifiChip;
/**
* Interface that represents a chip that must be configured as a single unit.
* The HAL/driver/firmware will be responsible for determining which phy is used
* to perform operations like NAN, RTT, etc.
*/
interface IWifiChip extends @1.1::IWifiChip {
};

View File

@@ -39,6 +39,7 @@ LOCAL_SRC_FILES := \
LOCAL_SHARED_LIBRARIES := \
android.hardware.wifi@1.0 \
android.hardware.wifi@1.1 \
android.hardware.wifi@1.2 \
libbase \
libcutils \
libhidlbase \

View File

@@ -51,7 +51,7 @@ class HidlDeathHandler : public android::hardware::hidl_death_recipient {
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace hidl_callback_util {
template <typename CallbackType>
@@ -114,7 +114,7 @@ class HidlCallbackHandler {
} // namespace hidl_callback_util
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -23,7 +23,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace hidl_return_util {
using namespace android::hardware::wifi::V1_0;
@@ -126,7 +126,7 @@ Return<void> validateAndCall(
} // namespace hidl_util
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -22,7 +22,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace hidl_struct_util {
@@ -2209,7 +2209,7 @@ bool convertLegacyVectorOfRttResultToHidl(
}
} // namespace hidl_struct_util
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -34,7 +34,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace hidl_struct_util {
using namespace android::hardware::wifi::V1_0;
@@ -168,7 +168,7 @@ bool convertLegacyVectorOfRttResultToHidl(
std::vector<RttResult>* hidl_results);
} // namespace hidl_struct_util
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -23,7 +23,7 @@ std::recursive_mutex g_mutex;
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace hidl_sync_util {
@@ -33,7 +33,7 @@ std::unique_lock<std::recursive_mutex> acquireGlobalLock() {
} // namespace hidl_sync_util
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,13 +24,13 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace hidl_sync_util {
std::unique_lock<std::recursive_mutex> acquireGlobalLock();
} // namespace hidl_sync_util
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -32,8 +32,8 @@ int main(int /*argc*/, char** argv) {
configureRpcThreadpool(1, true /* callerWillJoin */);
// Setup hwbinder service
android::sp<android::hardware::wifi::V1_1::IWifi> service =
new android::hardware::wifi::V1_1::implementation::Wifi();
android::sp<android::hardware::wifi::V1_2::IWifi> service =
new android::hardware::wifi::V1_2::implementation::Wifi();
CHECK_EQ(service->registerAsService(), android::NO_ERROR)
<< "Failed to register wifi HAL";

View File

@@ -28,7 +28,7 @@ static constexpr android::hardware::wifi::V1_0::ChipId kChipId = 0;
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
using hidl_return_util::validateAndCallWithLock;
@@ -199,7 +199,7 @@ WifiStatus Wifi::stopLegacyHalAndDeinitializeModeController(
return createWifiStatus(WifiStatusCode::SUCCESS);
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -20,7 +20,7 @@
#include <functional>
#include <android-base/macros.h>
#include <android/hardware/wifi/1.1/IWifi.h>
#include <android/hardware/wifi/1.2/IWifi.h>
#include <utils/Looper.h>
#include "hidl_callback_util.h"
@@ -31,14 +31,13 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
/**
* Root HIDL interface object used to control the Wifi HAL.
*/
class Wifi : public V1_1::IWifi {
class Wifi : public V1_2::IWifi {
public:
Wifi();
@@ -81,7 +80,7 @@ class Wifi : public V1_1::IWifi {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,7 +24,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
@@ -100,7 +100,7 @@ WifiApIface::getValidFrequenciesForBandInternal(WifiBand band) {
return {createWifiStatusFromLegacyError(legacy_status), valid_frequencies};
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -25,7 +25,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
@@ -64,7 +64,7 @@ class WifiApIface : public V1_0::IWifiApIface {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -46,7 +46,7 @@ void invalidateAndClear(sp<Iface>& iface) {
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
@@ -903,7 +903,7 @@ WifiStatus WifiChip::registerDebugRingBufferCallback() {
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -34,7 +34,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
@@ -209,7 +209,7 @@ class WifiChip : public V1_1::IWifiChip {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -20,7 +20,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
class WifiFeatureFlags {
@@ -33,7 +33,7 @@ class WifiFeatureFlags {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -49,7 +49,7 @@ std::vector<char> makeCharVec(const std::string& str) {
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace legacy_hal {
// Legacy HAL functions accept "C" style function pointers, so use global
@@ -1339,7 +1339,7 @@ void WifiLegacyHal::invalidate() {
} // namespace legacy_hal
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -27,7 +27,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
// This is in a separate namespace to prevent typename conflicts between
// the legacy HAL types and the HIDL interface types.
@@ -304,7 +304,7 @@ class WifiLegacyHal {
} // namespace legacy_hal
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -20,7 +20,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace legacy_hal {
template <typename>
@@ -138,7 +138,7 @@ bool initHalFuncTableWithStubs(wifi_hal_fn* hal_fn) {
}
} // namespace legacy_hal
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -20,7 +20,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace legacy_hal {
#include <hardware_legacy/wifi_hal.h>
@@ -28,7 +28,7 @@ namespace legacy_hal {
bool initHalFuncTableWithStubs(wifi_hal_fn* hal_fn);
} // namespace legacy_hal
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -48,7 +48,7 @@ int convertIfaceTypeToFirmwareMode(IfaceType type) {
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace mode_controller {
@@ -80,7 +80,7 @@ bool WifiModeController::deinitialize() {
}
} // namespace mode_controller
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,7 +24,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
namespace mode_controller {
using namespace android::hardware::wifi::V1_0;
@@ -53,7 +53,7 @@ class WifiModeController {
} // namespace mode_controller
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,7 +24,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
@@ -763,7 +763,7 @@ WifiStatus WifiNanIface::terminateDataPathRequestInternal(
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -27,7 +27,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
@@ -133,7 +133,7 @@ class WifiNanIface : public V1_0::IWifiNanIface {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -23,7 +23,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
@@ -64,7 +64,7 @@ std::pair<WifiStatus, IfaceType> WifiP2pIface::getTypeInternal() {
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -25,7 +25,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
@@ -57,7 +57,7 @@ class WifiP2pIface : public V1_0::IWifiP2pIface {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,7 +24,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
@@ -291,7 +291,7 @@ WifiStatus WifiRttController::disableResponderInternal(uint32_t cmd_id) {
return createWifiStatusFromLegacyError(legacy_status);
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -27,7 +27,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
/**
@@ -97,7 +97,7 @@ class WifiRttController : public V1_0::IWifiRttController {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,7 +24,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using hidl_return_util::validateAndCall;
@@ -623,7 +623,7 @@ WifiStaIface::getDebugRxPacketFatesInternal() {
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -27,7 +27,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
@@ -160,7 +160,7 @@ class WifiStaIface : public V1_0::IWifiStaIface {
};
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -19,7 +19,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
std::string legacyErrorToString(legacy_hal::wifi_error error) {
@@ -100,7 +100,7 @@ WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error) {
}
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -24,7 +24,7 @@
namespace android {
namespace hardware {
namespace wifi {
namespace V1_1 {
namespace V1_2 {
namespace implementation {
using namespace android::hardware::wifi::V1_0;
@@ -37,7 +37,7 @@ WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error,
WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error);
} // namespace implementation
} // namespace V1_1
} // namespace V1_2
} // namespace wifi
} // namespace hardware
} // namespace android

View File

@@ -4,6 +4,7 @@ subdirs = [
"1.0/vts/functional",
"1.1",
"1.1/vts/functional",
"1.2",
"offload/1.0",
"offload/1.0/vts/functional",
"supplicant/1.0",