From d199dcdfd50debb67645a320fe04ad35c9b0c999 Mon Sep 17 00:00:00 2001 From: Matthew Barth Date: Mon, 20 Nov 2017 10:36:41 -0600 Subject: Set tach sensor inventory functional state At startup, initialize the functional state of each tach sensor to true and then update the inventory's functional state to match the tach sensor's functional state. Resolves openbmc/openbmc#2629 Change-Id: If608e4c044d9eeaa3dbdafa22bc89327e323c9a8 Signed-off-by: Matthew Barth --- monitor/tach_sensor.cpp | 10 +++++++++- monitor/tach_sensor.hpp | 9 +++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/monitor/tach_sensor.cpp b/monitor/tach_sensor.cpp index a272681..8ae8583 100644 --- a/monitor/tach_sensor.cpp +++ b/monitor/tach_sensor.cpp @@ -78,8 +78,11 @@ TachSensor::TachSensor(sdbusplus::bus::bus& bus, _timeout(timeout), _timer(events, [this, &fan](){ fan.timerExpired(*this); }) { - //Load in starting Target and Input values + // Start from a known state of functional + _functional = true; + updateInventory(_functional); + // Load in starting Target and Input values try { // Use getProperty directly to allow a missing sensor object @@ -130,6 +133,11 @@ std::string TachSensor::getMatchString(const std::string& interface) _name, interface); } +void TachSensor::setFunctional(bool functional) +{ + _functional = functional; + updateInventory(_functional); +} /** * @brief Reads a property from the input message and stores it in value. diff --git a/monitor/tach_sensor.hpp b/monitor/tach_sensor.hpp index 59b99d2..ba3465a 100644 --- a/monitor/tach_sensor.hpp +++ b/monitor/tach_sensor.hpp @@ -94,12 +94,9 @@ class TachSensor } /** - * Sets functional status + * Set the functional status and update inventory to match */ - inline void setFunctional(bool functional) - { - _functional = functional; - } + void setFunctional(bool functional); /** * @brief Says if the timer is running or not @@ -202,7 +199,7 @@ class TachSensor * @brief If functional (not too slow). The parent * fan object sets this. */ - bool _functional = true; + bool _functional; /** * @brief If the sensor has a Target property (can set speed) -- cgit v1.2.1