Fan: Eliminate one unnecessary loop by using known fanType

Given we have known the fanType, we don't need to loop through all fan
types. In order to use fanType as the index for the sensorTypes array,
we need to change "enum class FanTypes" to "enum FanTypes". Otherwise,
we will get a compiling error.

This also fixes an issue that an I2C fan could be incorrectly processed
as a Nuvoton or Aspee fan when they are used together.

Tested: the fan sensors are seen in the ipmitool sensor list.

Signed-off-by: Yong Zhao <yozhao@google.com>
Change-Id: I474a149e01b06a5a2e883aaa840486ef97965775
1 file changed
tree: 31252d4e6b17daf3c03fbabe1356b3345ff0830e
  1. cmake/
  2. include/
  3. service_files/
  4. src/
  5. tests/
  6. .clang-format
  7. .clang-ignore
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. Jenkinsfile
  12. LICENSE
  13. MAINTAINERS
  14. README.md
README.md

dbus-sensors

dbus-sensors is a collection of sensor applications that provide the xyz.openbmc_project.Sensor collection of interfaces. They read sensor values from hwmon, d-bus, or direct driver access to provide readings. Some advance non-sensor features such as fan presence, pwm control, and automatic cpu detection (x86) are also supported.

key features

  • runtime re-configurable from d-bus (entity-manager or the like)

  • isolated: each sensor type is isolated into its own daemon, so a bug in one sensor is unlikely to affect another, and single sensor modifications are possible

  • async single-threaded: uses sdbusplus/asio bindings

  • multiple data inputs: hwmon, d-bus, direct driver access