1 /* 2 * Copyright (C) 2020 Intel Corporation 3 * 4 * SPDX-License-Identifier: MIT 5 * 6 */ 7 8 #pragma once 9 #include "shared/source/helpers/non_copyable_or_moveable.h" 10 11 #include "level_zero/tools/source/sysman/fan/os_fan.h" 12 13 namespace L0 { 14 15 class SysfsAccess; 16 17 class LinuxFanImp : public OsFan, NEO::NonCopyableOrMovableClass { 18 public: 19 ze_result_t getProperties(zes_fan_properties_t *pProperties) override; 20 ze_result_t getConfig(zes_fan_config_t *pConfig) override; 21 ze_result_t setDefaultMode() override; 22 ze_result_t setFixedSpeedMode(const zes_fan_speed_t *pSpeed) override; 23 ze_result_t setSpeedTableMode(const zes_fan_speed_table_t *pSpeedTable) override; 24 ze_result_t getState(zes_fan_speed_units_t units, int32_t *pSpeed) override; 25 bool isFanModuleSupported() override; 26 LinuxFanImp(OsSysman *pOsSysman); 27 LinuxFanImp() = default; 28 ~LinuxFanImp() override = default; 29 }; 30 } // namespace L0 31