/* * SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & * AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include "MctpRequester.hpp" #include #include #include #include #include #include #include #include constexpr const char* sensorPathPrefix = "/xyz/openbmc_project/sensors/"; constexpr const char* deviceType = "NvidiaMctpVdm"; struct SensorConfigs { std::string name; uint64_t pollRate{}; }; class GpuDevice; class SmaDevice; void createSensors( boost::asio::io_context& io, sdbusplus::asio::object_server& objectServer, boost::container::flat_map>& gpuDevices, boost::container::flat_map>& smaDevices, const std::shared_ptr& dbusConnection, mctp::MctpRequester& mctpRequester); void interfaceRemoved( sdbusplus::message_t& message, boost::container::flat_map>& gpuDevices, boost::container::flat_map>& smaDevices);