// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0/* Copyright (c) 2018 Mellanox Technologies. All rights reserved */#include<linux/kernel.h>#include<linux/err.h>#include<linux/ethtool.h>#include<linux/sfp.h>#include<linux/mutex.h>#include"core.h"#include"core_env.h"#include"item.h"#include"reg.h"structmlxsw_env_module_info{u64module_overheat_counter;boolis_overheat;intnum_ports_mapped;intnum_ports_up;enumethtool_module_power_mode_policypower_mode_policy;enummlxsw_reg_pmtm_module_typetype;};structmlxsw_env_line_card{u8module_count;boolactive;structmlxsw_env_module_infomodule_info[];};structmlxsw_env{structmlxsw_core*core;conststructmlxsw_bus_info*bus_info;u8max_module_count