137a09cd7Sopenharmony_ci# Copyright (C) 2021-2023 Huawei Device Co., Ltd. 237a09cd7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 337a09cd7Sopenharmony_ci# you may not use this file except in compliance with the License. 437a09cd7Sopenharmony_ci# You may obtain a copy of the License at 537a09cd7Sopenharmony_ci# 637a09cd7Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 737a09cd7Sopenharmony_ci# 837a09cd7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 937a09cd7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1037a09cd7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1137a09cd7Sopenharmony_ci# See the License for the specific language governing permissions and 1237a09cd7Sopenharmony_ci# limitations under the License. 1337a09cd7Sopenharmony_ci 1437a09cd7Sopenharmony_ciimport("../../thermalmgr.gni") 1537a09cd7Sopenharmony_ci 1637a09cd7Sopenharmony_ciconfig("thermal_protector_public_config") { 1737a09cd7Sopenharmony_ci include_dirs = [ 1837a09cd7Sopenharmony_ci "include", 1937a09cd7Sopenharmony_ci "include/policy", 2037a09cd7Sopenharmony_ci "include/action", 2137a09cd7Sopenharmony_ci ] 2237a09cd7Sopenharmony_ci} 2337a09cd7Sopenharmony_ci 2437a09cd7Sopenharmony_ciohos_executable("thermal_protector") { 2537a09cd7Sopenharmony_ci sources = [ 2637a09cd7Sopenharmony_ci "src/action/cpu_action.cpp", 2737a09cd7Sopenharmony_ci "src/action/current_action.cpp", 2837a09cd7Sopenharmony_ci "src/action/device_control_factory.cpp", 2937a09cd7Sopenharmony_ci "src/action/thermal_device_control.cpp", 3037a09cd7Sopenharmony_ci "src/action/voltage_action.cpp", 3137a09cd7Sopenharmony_ci "src/main.cpp", 3237a09cd7Sopenharmony_ci "src/policy/protector_thermal_zone_info.cpp", 3337a09cd7Sopenharmony_ci "src/policy/thermal_kernel_config_file.cpp", 3437a09cd7Sopenharmony_ci "src/policy/thermal_kernel_policy.cpp", 3537a09cd7Sopenharmony_ci "src/thermal_kernel_service.cpp", 3637a09cd7Sopenharmony_ci "src/thermal_protector_timer.cpp", 3737a09cd7Sopenharmony_ci "src/thermal_protector_utils.cpp", 3837a09cd7Sopenharmony_ci "src/thermal_sensor_provision.cpp", 3937a09cd7Sopenharmony_ci ] 4037a09cd7Sopenharmony_ci 4137a09cd7Sopenharmony_ci public_configs = [ ":thermal_protector_public_config" ] 4237a09cd7Sopenharmony_ci 4337a09cd7Sopenharmony_ci configs = [ 4437a09cd7Sopenharmony_ci "${utils_path}:utils_config", 4537a09cd7Sopenharmony_ci "${utils_path}:coverage_flags", 4637a09cd7Sopenharmony_ci ] 4737a09cd7Sopenharmony_ci 4837a09cd7Sopenharmony_ci deps = [ "${utils_path}:thermal_utils" ] 4937a09cd7Sopenharmony_ci 5037a09cd7Sopenharmony_ci external_deps = [ 5137a09cd7Sopenharmony_ci "c_utils:utils", 5237a09cd7Sopenharmony_ci "hilog:libhilog", 5337a09cd7Sopenharmony_ci "libxml2:libxml2", 5437a09cd7Sopenharmony_ci ] 5537a09cd7Sopenharmony_ci 5637a09cd7Sopenharmony_ci if (has_thermal_config_policy_part) { 5737a09cd7Sopenharmony_ci defines = [ "HAS_THERMAL_CONFIG_POLICY_PART" ] 5837a09cd7Sopenharmony_ci external_deps += [ "config_policy:configpolicy_util" ] 5937a09cd7Sopenharmony_ci } 6037a09cd7Sopenharmony_ci 6137a09cd7Sopenharmony_ci install_enable = true 6237a09cd7Sopenharmony_ci part_name = "thermal_manager" 6337a09cd7Sopenharmony_ci subsystem_name = "powermgr" 6437a09cd7Sopenharmony_ci} 6537a09cd7Sopenharmony_ci 6637a09cd7Sopenharmony_cigroup("thermal_protector_group") { 6737a09cd7Sopenharmony_ci deps = [ 6837a09cd7Sopenharmony_ci ":thermal_protector", 6937a09cd7Sopenharmony_ci "profile:thermal_kernel_config", 7037a09cd7Sopenharmony_ci ] 7137a09cd7Sopenharmony_ci} 72