| #include "tlbmc/hal/sysfs/i2c.h" |
| |
| #include <cstdint> |
| #include <string> |
| |
| #include "absl/strings/str_cat.h" |
| #include "hal_common_config.pb.h" |
| |
| namespace milotic_tlbmc { |
| |
| boost::filesystem::path I2cSysfs::GetBusPath(uint64_t bus) const { |
| boost::filesystem::path path(config_.i2c_sysfs_path); |
| path /= "i2c-"; |
| return absl::StrCat(path.string(), bus); |
| } |
| |
| bool I2cSysfs::IsDevicePresent(const HalCommonConfig& config) const { |
| boost::filesystem::path path = GetBusPath(config.bus()); |
| path /= GetDeviceDirectoryName(config); |
| return boost::filesystem::exists(path); |
| } |
| |
| std::string I2cSysfs::GetDeviceDirectoryName( |
| const HalCommonConfig& config) const { |
| return absl::StrCat(config.bus(), "-", |
| absl::Hex(config.address(), absl::kZeroPad4)); |
| } |
| |
| } // namespace milotic_tlbmc |