diff --git a/adapter/BUILD.gn b/adapter/BUILD.gn index 47922a7c0ac39253c9ca6380a391788461e1508a..6d0bfc585f0592be388ba67491eb80bf07ef50f4 100644 --- a/adapter/BUILD.gn +++ b/adapter/BUILD.gn @@ -42,6 +42,7 @@ if (defined(ohos_lite)) { "$hdf_adapter_path/uhdf2/ipc:libhdf_ipc_adapter", "$hdf_adapter_path/uhdf2/manager:hdf_devmgr", "$hdf_adapter_path/uhdf2/manager:hdf_devmgr.cfg", + "$hdf_adapter_path/uhdf2/manager:hdf_devmgr.para.dac", "$hdf_adapter_path/uhdf2/manager:hdf_pnp.cfg", "$hdf_adapter_path/uhdf2/platform:libhdf_platform", "$hdf_adapter_path/uhdf2/pub_utils:libpub_utils", diff --git a/adapter/uhdf2/manager/BUILD.gn b/adapter/uhdf2/manager/BUILD.gn index 658b36fa9bfe27b4e66c3418c7d85beecb32e00d..7a4f2325e4e99e463683506c9339be3c087d6fca 100644 --- a/adapter/uhdf2/manager/BUILD.gn +++ b/adapter/uhdf2/manager/BUILD.gn @@ -102,3 +102,11 @@ ohos_prebuilt_etc("hdf_pnp.cfg") { subsystem_name = "hdf" part_name = "hdf_core" } + +ohos_prebuilt_etc("hdf_devmgr.para.dac") { + source = "hdf_devmgr.para.dac" + relative_install_dir = "param" + install_images = [ chipset_base_dir ] + subsystem_name = "hdf" + part_name = "hdf_core" +} diff --git a/adapter/uhdf2/manager/device_manager.c b/adapter/uhdf2/manager/device_manager.c index 3803b9a75868b8a835af8aa73214fc8b27de253f..2e97d1559b17d8ced54f525de81c0ae1d0b491a5 100644 --- a/adapter/uhdf2/manager/device_manager.c +++ b/adapter/uhdf2/manager/device_manager.c @@ -19,9 +19,12 @@ #include "hdf_base.h" #include "hdf_log.h" #include "devmgr_dump.h" +#include "parameter.h" #define HDF_LOG_TAG hdf_device_manager +const char *BOOTEVENT_HDF_DEVMGR_READY = "bootevent.hdf_devmgr.ready"; + int main() { HDF_LOGI("start hdf device manager"); @@ -38,6 +41,7 @@ int main() (void)DevMgrUeventReceiveStart(); DevMgrRegisterDumpFunc(); if (status == HDF_SUCCESS) { + SetParameter(BOOTEVENT_HDF_DEVMGR_READY, "true"); struct DevmgrServiceFull *fullService = (struct DevmgrServiceFull *)instance; struct HdfMessageLooper *looper = &fullService->looper; if ((looper != NULL) && (looper->Start != NULL)) { diff --git a/adapter/uhdf2/manager/hdf_devmgr.cfg b/adapter/uhdf2/manager/hdf_devmgr.cfg index 5e54e2e32ba2ce678d0ff2f04038e1cb4fd16e37..7064ae743597f2e7b36382371e57e89fa3442128 100644 --- a/adapter/uhdf2/manager/hdf_devmgr.cfg +++ b/adapter/uhdf2/manager/hdf_devmgr.cfg @@ -6,7 +6,11 @@ "gid" : ["hdf_devmgr", "readproc", "uhdf_driver"], "start-mode" : "boot", "secon" : "u:r:hdf_devmgr:s0", - "caps" : ["CAP_SYS_MODULE"] + "caps" : ["CAP_SYS_MODULE"], + "critical": [1, 4, 60], + "bootevents": [ + "bootevent.hdf_devmgr.ready" + ] } ] } diff --git a/adapter/uhdf2/manager/hdf_devmgr.para.dac b/adapter/uhdf2/manager/hdf_devmgr.para.dac new file mode 100644 index 0000000000000000000000000000000000000000..0cbd2be140c55b37ae19c554ae59665725586d4a --- /dev/null +++ b/adapter/uhdf2/manager/hdf_devmgr.para.dac @@ -0,0 +1,14 @@ +# Copyright (c) 2024 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. + +bootevent.hdf_devmgr.ready = hdf_devmgr:hdf_devmgr:0775 \ No newline at end of file