mirror of
https://github.com/openharmony/drivers_adapter.git
synced 2026-07-20 21:59:19 -04:00
!281 feat: add the asynchronous power manager interfaces os acquiring device
Merge pull request !281 from Zhang/master
This commit is contained in:
@@ -47,6 +47,7 @@ hdf_driver(module_name) {
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/hdf_device_token.c",
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/hdf_driver_loader.c",
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/hdf_observer_record.c",
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/hdf_power_manager.c",
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/hdf_service_observer.c",
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/hdf_service_subscriber.c",
|
||||
"$HDF_FRAMEWORKS_PATH/core/host/src/power_state_token.c",
|
||||
@@ -74,6 +75,7 @@ hdf_driver(module_name) {
|
||||
"$HDF_FRAMEWORKS_PATH/utils/src/hdf_sbuf_impl_raw.c",
|
||||
"$HDF_FRAMEWORKS_PATH/utils/src/hdf_slist.c",
|
||||
"$HDF_FRAMEWORKS_PATH/utils/src/hdf_sref.c",
|
||||
"$HDF_FRAMEWORKS_PATH/utils/src/hdf_task_queue.c",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ LOCAL_SRCS := ./osal/src/osal_timer.c \
|
||||
$(HDF_FRAMEWORKS)/utils/src/hdf_sref.c \
|
||||
$(HDF_FRAMEWORKS)/utils/src/hdf_sbuf.c \
|
||||
$(HDF_FRAMEWORKS)/utils/src/hdf_sbuf_impl_raw.c \
|
||||
$(HDF_FRAMEWORKS)/utils/src/hdf_task_queue.c \
|
||||
./osal/src/osal_mem.c \
|
||||
./osal/src/osal_mutex.c \
|
||||
./osal/src/osal_sem.c \
|
||||
@@ -62,6 +63,7 @@ LOCAL_SRCS := ./osal/src/osal_timer.c \
|
||||
$(HDF_FRAMEWORKS)/core/host/src/hdf_observer_record.c \
|
||||
$(HDF_FRAMEWORKS)/core/host/src/hdf_service_subscriber.c \
|
||||
$(HDF_FRAMEWORKS)/core/host/src/hdf_device_object.c \
|
||||
$(HDF_FRAMEWORKS)/core/host/src/hdf_power_manager.c \
|
||||
$(HDF_FRAMEWORKS)/core/host/src/hdf_service_observer.c \
|
||||
$(HDF_FRAMEWORKS)/core/host/src/power_state_token.c \
|
||||
$(HDF_FRAMEWORKS)/core/manager/src/devhost_service_clnt.c \
|
||||
|
||||
@@ -42,7 +42,7 @@ hdf_driver(module_name) {
|
||||
"$HDF_TEST_FRAMWORK_ROOT/osal/osal_list_test.c",
|
||||
"$HDF_TEST_FRAMWORK_ROOT/osal/osal_test_entry.c",
|
||||
"$HDF_TEST_FRAMWORK_ROOT/osal/osal_work_test.c",
|
||||
"$HDF_TEST_FRAMWORK_ROOT/pm/pm_driver_test.c",
|
||||
"$HDF_TEST_FRAMWORK_ROOT/pm/hdf_pm_driver_test.c",
|
||||
"$HDF_TEST_FRAMWORK_ROOT/utils/hcs_parser/unittest/hcs_config_test.c",
|
||||
"$HDF_TEST_FRAMWORK_ROOT/utils/hcs_parser/unittest/hcs_parser_test.c",
|
||||
]
|
||||
|
||||
@@ -42,7 +42,7 @@ LOCAL_SRCS := $(HDF_TEST_FRAMWORK_ROOT)/common/hdf_main_test.c \
|
||||
$(HDF_TEST_FRAMWORK_ROOT)/osal/osal_get_case_test.c \
|
||||
$(HDF_TEST_FRAMWORK_ROOT)/utils/hcs_parser/unittest/hcs_parser_test.c \
|
||||
$(HDF_TEST_FRAMWORK_ROOT)/utils/hcs_parser/unittest/hcs_config_test.c \
|
||||
$(HDF_TEST_FRAMWORK_ROOT)/pm/pm_driver_test.c
|
||||
$(HDF_TEST_FRAMWORK_ROOT)/pm/hdf_pm_driver_test.c
|
||||
|
||||
ifeq ($(LOSCFG_DRIVERS_HDF_WIFI), y)
|
||||
LOCAL_SRCS += $(HDF_TEST_FRAMWORK_ROOT)/wifi/hdf_wifi_test.c \
|
||||
|
||||
@@ -167,3 +167,44 @@ unittest("hdf_adapter_uhdf_test_door") {
|
||||
"-fno-strict-aliasing",
|
||||
]
|
||||
}
|
||||
|
||||
unittest("hdf_adapter_uhdf_test_pm") {
|
||||
output_extension = "bin"
|
||||
output_dir = "$root_out_dir/test/unittest/hdf"
|
||||
include_dirs = [
|
||||
"//third_party/googletest/googletest/include",
|
||||
"//third_party/bounds_checking_function/include",
|
||||
"//drivers/framework/include/platform",
|
||||
"//drivers/framework/include/core",
|
||||
"//drivers/framework/core/common/include/host",
|
||||
"//drivers/framework/core/shared/include",
|
||||
"//drivers/framework/include/osal",
|
||||
"//drivers/adapter/uhdf/posix/include",
|
||||
"//drivers/framework/include/utils",
|
||||
"//drivers/framework/include",
|
||||
"//drivers/framework/test/unittest/include",
|
||||
"//drivers/framework/test/unittest/manager",
|
||||
"//drivers/framework/test/unittest/pm",
|
||||
"//base/hiviewdfx/hilog_lite/interfaces/native/innerkits",
|
||||
]
|
||||
|
||||
defines = [ "__USER__" ]
|
||||
sources = [
|
||||
"//drivers/framework/core/manager/test/unittest/common/hdf_pm_test.cpp",
|
||||
]
|
||||
deps = [
|
||||
"//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
|
||||
"//drivers/adapter/uhdf/manager:hdf_core",
|
||||
"//drivers/adapter/uhdf/posix:hdf_posix_osal",
|
||||
"//drivers/adapter/uhdf/test/unittest/common:hdf_test_common",
|
||||
]
|
||||
public_deps = [ "//third_party/bounds_checking_function:libsec_shared" ]
|
||||
cflags = [
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Werror",
|
||||
"-fsigned-char",
|
||||
"-fno-common",
|
||||
"-fno-strict-aliasing",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ ohos_shared_library("libhdf_host") {
|
||||
"$hdf_framework_path/core/host/src/hdf_device_object.c",
|
||||
"$hdf_framework_path/core/host/src/hdf_device_token.c",
|
||||
"$hdf_framework_path/core/host/src/hdf_observer_record.c",
|
||||
"$hdf_framework_path/core/host/src/hdf_power_manager.c",
|
||||
"$hdf_framework_path/core/host/src/hdf_service_observer.c",
|
||||
"$hdf_framework_path/core/host/src/hdf_service_subscriber.c",
|
||||
"$hdf_framework_path/core/host/src/power_state_token.c",
|
||||
@@ -64,6 +65,7 @@ ohos_shared_library("libhdf_host") {
|
||||
"$hdf_framework_path/core/shared/src/hdf_device_info.c",
|
||||
"$hdf_framework_path/core/shared/src/hdf_object_manager.c",
|
||||
"$hdf_framework_path/core/shared/src/hdf_service_record.c",
|
||||
"$hdf_framework_path/utils/src/hdf_task_queue.c",
|
||||
"$hdf_uhdf_path/host/src/devhost_object_config.c",
|
||||
"$hdf_uhdf_path/host/src/devhost_service_full.c",
|
||||
"$hdf_uhdf_path/host/src/devhost_service_stub.c",
|
||||
@@ -74,6 +76,7 @@ ohos_shared_library("libhdf_host") {
|
||||
"$hdf_uhdf_path/host/src/driver_loader_full.c",
|
||||
"$hdf_uhdf_path/host/src/hdf_device_thread.c",
|
||||
"$hdf_uhdf_path/host/src/hdf_devsvc_manager_clnt.c",
|
||||
"$hdf_uhdf_path/host/src/hdf_pm_reg.c",
|
||||
"$hdf_uhdf_path/shared/src/dev_attribute_serialize.c",
|
||||
"$hdf_uhdf_path/shared/src/hcb_config_entry.c",
|
||||
]
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "devhost_service_full.h"
|
||||
#include "hdf_cstring.h"
|
||||
#include "hdf_log.h"
|
||||
#include "hdf_power_manager.h"
|
||||
#include "securec.h"
|
||||
|
||||
#define HDF_LOG_TAG hdf_device_host
|
||||
@@ -87,6 +88,7 @@ int main(int argc, char **argv)
|
||||
DevHostServiceFreeInstance(instance);
|
||||
return status;
|
||||
}
|
||||
HdfPowerManagerInit();
|
||||
struct DevHostServiceFull *fullService = (struct DevHostServiceFull*)instance;
|
||||
struct HdfMessageLooper *looper = &fullService->looper;
|
||||
if ((looper != NULL) && (looper->Start != NULL)) {
|
||||
@@ -94,6 +96,8 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
DevHostServiceFreeInstance(instance);
|
||||
HdfPowerManagerExit();
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (c) 2021 Huawei Device Co., Ltd.
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "hdf_base.h"
|
||||
|
||||
#define HDF_LOG_TAG devmgr_pm
|
||||
|
||||
int DevMgrPmRegister(void)
|
||||
{
|
||||
return HDF_SUCCESS;
|
||||
}
|
||||
@@ -16,6 +16,7 @@ group("hdf_test_uhdf") {
|
||||
deps = [
|
||||
"unittest/config:hdf_adapter_uhdf_test_config",
|
||||
"unittest/manager:hdf_adapter_uhdf_test_ioservice",
|
||||
"unittest/manager:hdf_adapter_uhdf_test_pm",
|
||||
"unittest/manager:hdf_adapter_uhdf_test_sbuf",
|
||||
"unittest/osal:hdf_adapter_uhdf_test_osal",
|
||||
"unittest/osal:hdf_adapter_uhdf_test_osal_posix",
|
||||
|
||||
@@ -120,3 +120,34 @@ ohos_unittest("hdf_adapter_uhdf_test_sbuf") {
|
||||
external_deps = [ "hilog:libhilog" ]
|
||||
}
|
||||
}
|
||||
module_output_path = "hdf/pm"
|
||||
ohos_unittest("hdf_adapter_uhdf_test_pm") {
|
||||
module_out_path = module_output_path
|
||||
include_dirs = [
|
||||
"//drivers/framework/core/shared/include",
|
||||
"//drivers/framework/test/unittest/include",
|
||||
"//drivers/framework/test/unittest/pm",
|
||||
]
|
||||
|
||||
defines = [ "__USER__" ]
|
||||
sources = [
|
||||
"//drivers/framework/core/manager/test/unittest/common/hdf_pm_test.cpp",
|
||||
]
|
||||
deps = [
|
||||
"//drivers/adapter/uhdf2/utils:libhdf_utils",
|
||||
"//utils/native/base:utils",
|
||||
]
|
||||
cflags = [
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Werror",
|
||||
"-fsigned-char",
|
||||
"-fno-common",
|
||||
"-fno-strict-aliasing",
|
||||
]
|
||||
if (is_standard_system) {
|
||||
external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
|
||||
} else {
|
||||
external_deps = [ "hilog:libhilog" ]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user