Start using .clang-format
Used the one from docs/style/cpp.
Change-Id: I3bdc2b353bf18a437266b362d8205b8463a9ce2b
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/power-supply/power_supply.hpp b/power-supply/power_supply.hpp
index a56e2e2..d997423 100644
--- a/power-supply/power_supply.hpp
+++ b/power-supply/power_supply.hpp
@@ -1,8 +1,4 @@
#pragma once
-#include <sdbusplus/bus/match.hpp>
-#include <sdeventplus/clock.hpp>
-#include <sdeventplus/event.hpp>
-#include <sdeventplus/utility/timer.hpp>
#include "average.hpp"
#include "device.hpp"
#include "maximum.hpp"
@@ -10,6 +6,11 @@
#include "pmbus.hpp"
#include "record_manager.hpp"
+#include <sdbusplus/bus/match.hpp>
+#include <sdeventplus/clock.hpp>
+#include <sdeventplus/event.hpp>
+#include <sdeventplus/utility/timer.hpp>
+
namespace witherspoon
{
namespace power
@@ -27,395 +28,389 @@
*/
class PowerSupply : public Device
{
- public:
- PowerSupply() = delete;
- PowerSupply(const PowerSupply&) = delete;
- PowerSupply(PowerSupply&&) = default;
- PowerSupply& operator=(const PowerSupply&) = default;
- PowerSupply& operator=(PowerSupply&&) = default;
- ~PowerSupply() = default;
+ public:
+ PowerSupply() = delete;
+ PowerSupply(const PowerSupply&) = delete;
+ PowerSupply(PowerSupply&&) = default;
+ PowerSupply& operator=(const PowerSupply&) = default;
+ PowerSupply& operator=(PowerSupply&&) = default;
+ ~PowerSupply() = default;
- /**
- * Constructor
- *
- * @param[in] name - the device name
- * @param[in] inst - the device instance
- * @param[in] objpath - the path to monitor
- * @param[in] invpath - the inventory path to use
- * @param[in] bus - D-Bus bus object
- * @param[in] e - event object
- * @param[in] t - time to allow power supply to assert PG#
- * @param[in] p - time to allow power supply presence state to
- * settle/deglitch and allow for application of power
- * prior to fault checking
- */
- PowerSupply(const std::string& name, size_t inst,
- const std::string& objpath,
- const std::string& invpath,
- sdbusplus::bus::bus& bus,
- const sdeventplus::Event& e,
- std::chrono::seconds& t,
- std::chrono::seconds& p);
+ /**
+ * Constructor
+ *
+ * @param[in] name - the device name
+ * @param[in] inst - the device instance
+ * @param[in] objpath - the path to monitor
+ * @param[in] invpath - the inventory path to use
+ * @param[in] bus - D-Bus bus object
+ * @param[in] e - event object
+ * @param[in] t - time to allow power supply to assert PG#
+ * @param[in] p - time to allow power supply presence state to
+ * settle/deglitch and allow for application of power
+ * prior to fault checking
+ */
+ PowerSupply(const std::string& name, size_t inst,
+ const std::string& objpath, const std::string& invpath,
+ sdbusplus::bus::bus& bus, const sdeventplus::Event& e,
+ std::chrono::seconds& t, std::chrono::seconds& p);
- /**
- * Power supply specific function to analyze for faults/errors.
- *
- * Various PMBus status bits will be checked for fault conditions.
- * If a certain fault bits are on, the appropriate error will be
- * committed.
- */
- void analyze() override;
+ /**
+ * Power supply specific function to analyze for faults/errors.
+ *
+ * Various PMBus status bits will be checked for fault conditions.
+ * If a certain fault bits are on, the appropriate error will be
+ * committed.
+ */
+ void analyze() override;
- /**
- * Write PMBus CLEAR_FAULTS
- *
- * This function will be called in various situations in order to clear
- * any fault status bits that may have been set, in order to start over
- * with a clean state. Presence changes and power state changes will
- * want to clear any faults logged.
- */
- void clearFaults() override;
+ /**
+ * Write PMBus CLEAR_FAULTS
+ *
+ * This function will be called in various situations in order to clear
+ * any fault status bits that may have been set, in order to start over
+ * with a clean state. Presence changes and power state changes will
+ * want to clear any faults logged.
+ */
+ void clearFaults() override;
- /**
- * Mark error for specified callout and message as resolved.
- *
- * @param[in] callout - The callout to be resolved (inventory path)
- * @parma[in] message - The message for the fault to be resolved
- */
- void resolveError(const std::string& callout,
- const std::string& message);
+ /**
+ * Mark error for specified callout and message as resolved.
+ *
+ * @param[in] callout - The callout to be resolved (inventory path)
+ * @parma[in] message - The message for the fault to be resolved
+ */
+ void resolveError(const std::string& callout, const std::string& message);
- /**
- * Enables making the input power history available on D-Bus
- *
- * @param[in] objectPath - the D-Bus object path to use
- * @param[in] maxRecords - the number of history records to keep
- * @param[in] syncGPIOPath - The gpiochip device path to use for
- * sending the sync command
- * @paramp[in] syncGPIONum - the GPIO number for the sync command
- */
- void enableHistory(const std::string& objectPath,
- size_t numRecords,
- const std::string& syncGPIOPath,
- size_t syncGPIONum);
+ /**
+ * Enables making the input power history available on D-Bus
+ *
+ * @param[in] objectPath - the D-Bus object path to use
+ * @param[in] maxRecords - the number of history records to keep
+ * @param[in] syncGPIOPath - The gpiochip device path to use for
+ * sending the sync command
+ * @paramp[in] syncGPIONum - the GPIO number for the sync command
+ */
+ void enableHistory(const std::string& objectPath, size_t numRecords,
+ const std::string& syncGPIOPath, size_t syncGPIONum);
- private:
- /**
- * The path to use for reading various PMBus bits/words.
- */
- std::string monitorPath;
+ private:
+ /**
+ * The path to use for reading various PMBus bits/words.
+ */
+ std::string monitorPath;
- /**
- * @brief Pointer to the PMBus interface
- *
- * Used to read out of or write to the /sysfs tree(s) containing files
- * that a device driver monitors the PMBus interface to the power
- * supplies.
- */
- witherspoon::pmbus::PMBus pmbusIntf;
+ /**
+ * @brief Pointer to the PMBus interface
+ *
+ * Used to read out of or write to the /sysfs tree(s) containing files
+ * that a device driver monitors the PMBus interface to the power
+ * supplies.
+ */
+ witherspoon::pmbus::PMBus pmbusIntf;
- /**
- * @brief D-Bus path to use for this power supply's inventory status.
- */
- std::string inventoryPath;
+ /**
+ * @brief D-Bus path to use for this power supply's inventory status.
+ */
+ std::string inventoryPath;
- /** @brief Connection for sdbusplus bus */
- sdbusplus::bus::bus& bus;
+ /** @brief Connection for sdbusplus bus */
+ sdbusplus::bus::bus& bus;
- /** @brief True if the power supply is present. */
- bool present = false;
+ /** @brief True if the power supply is present. */
+ bool present = false;
- /** @brief Used to subscribe to D-Bus property changes for Present */
- std::unique_ptr<sdbusplus::bus::match_t> presentMatch;
+ /** @brief Used to subscribe to D-Bus property changes for Present */
+ std::unique_ptr<sdbusplus::bus::match_t> presentMatch;
- /**
- * @brief Interval for setting present to true.
- *
- * The amount of time to wait from not present to present change before
- * updating the internal present indicator. Allows person servicing
- * the power supply some time to plug in the cable.
- */
- std::chrono::seconds presentInterval;
+ /**
+ * @brief Interval for setting present to true.
+ *
+ * The amount of time to wait from not present to present change before
+ * updating the internal present indicator. Allows person servicing
+ * the power supply some time to plug in the cable.
+ */
+ std::chrono::seconds presentInterval;
- /**
- * @brief Timer used to delay setting the internal present state.
- *
- * The timer used to do the callback after the present property has
- * changed.
- */
- sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> presentTimer;
+ /**
+ * @brief Timer used to delay setting the internal present state.
+ *
+ * The timer used to do the callback after the present property has
+ * changed.
+ */
+ sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> presentTimer;
- /** @brief True if a fault has already been found and not cleared */
- bool faultFound = false;
+ /** @brief True if a fault has already been found and not cleared */
+ bool faultFound = false;
- /** @brief True if the power is on. */
- bool powerOn = false;
+ /** @brief True if the power is on. */
+ bool powerOn = false;
- /**
- * @brief Equal to FAULT_COUNT if power on fault has been
- * detected.
- */
- size_t powerOnFault = 0;
+ /**
+ * @brief Equal to FAULT_COUNT if power on fault has been
+ * detected.
+ */
+ size_t powerOnFault = 0;
- /**
- * @brief Interval to setting powerOn to true.
- *
- * The amount of time to wait from power state on to setting the
- * internal powerOn state to true. The amount of time the power supply
- * is allowed to delay setting DGood/PG#.
- */
- std::chrono::seconds powerOnInterval;
+ /**
+ * @brief Interval to setting powerOn to true.
+ *
+ * The amount of time to wait from power state on to setting the
+ * internal powerOn state to true. The amount of time the power supply
+ * is allowed to delay setting DGood/PG#.
+ */
+ std::chrono::seconds powerOnInterval;
- /**
- * @brief Timer used to delay setting the internal powerOn state.
- *
- * The timer used to do the callback after the power state has been on
- * long enough.
- */
- sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> powerOnTimer;
+ /**
+ * @brief Timer used to delay setting the internal powerOn state.
+ *
+ * The timer used to do the callback after the power state has been on
+ * long enough.
+ */
+ sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> powerOnTimer;
- /** @brief Used to subscribe to D-Bus power on state changes */
- std::unique_ptr<sdbusplus::bus::match_t> powerOnMatch;
+ /** @brief Used to subscribe to D-Bus power on state changes */
+ std::unique_ptr<sdbusplus::bus::match_t> powerOnMatch;
- /** @brief Indicates that a read failure has occurred.
- *
- * @details This will be incremented each time a read failure is
- * encountered. If it is incremented to FAULT_COUNT, an error
- * will be logged.
- */
- size_t readFail = 0;
+ /** @brief Indicates that a read failure has occurred.
+ *
+ * @details This will be incremented each time a read failure is
+ * encountered. If it is incremented to FAULT_COUNT, an error
+ * will be logged.
+ */
+ size_t readFail = 0;
- /** @brief Has a PMBus read failure already been logged? */
- bool readFailLogged = false;
+ /** @brief Has a PMBus read failure already been logged? */
+ bool readFailLogged = false;
- /**
- * @brief Indicates an input fault or warning if equal to FAULT_COUNT.
- *
- * @details This is the "INPUT FAULT OR WARNING" bit in the high byte,
- * or the VIN_UV_FAULT bit in the low byte in the STATUS_WORD
- * command response. If either of those bits are on, this will
- * be incremented.
- */
- size_t inputFault = 0;
+ /**
+ * @brief Indicates an input fault or warning if equal to FAULT_COUNT.
+ *
+ * @details This is the "INPUT FAULT OR WARNING" bit in the high byte,
+ * or the VIN_UV_FAULT bit in the low byte in the STATUS_WORD
+ * command response. If either of those bits are on, this will
+ * be incremented.
+ */
+ size_t inputFault = 0;
- /**
- * @brief Indicates output over current fault if equal to FAULT_COUNT
- *
- * @details This is incremented when the "IOUT_OC_FAULT" bit in the low
- * byte from the STATUS_WORD command response is on.
- */
- size_t outputOCFault = 0;
+ /**
+ * @brief Indicates output over current fault if equal to FAULT_COUNT
+ *
+ * @details This is incremented when the "IOUT_OC_FAULT" bit in the low
+ * byte from the STATUS_WORD command response is on.
+ */
+ size_t outputOCFault = 0;
- /**
- * @brief Indicates output overvoltage fault if equal to FAULT_COUNT.
- *
- * @details This is incremented when the "VOUT_OV_FAULT" bit in the
- * STATUS_WORD command response is on.
- */
- size_t outputOVFault = 0;
+ /**
+ * @brief Indicates output overvoltage fault if equal to FAULT_COUNT.
+ *
+ * @details This is incremented when the "VOUT_OV_FAULT" bit in the
+ * STATUS_WORD command response is on.
+ */
+ size_t outputOVFault = 0;
- /**
- * @brief Indicates a fan fault or warning condition was detected if
- * equal to FAULT_COUNT.
- *
- * @details This is incremented when the 'FAN_FAULT' bit in the
- * STATUS_WORD command response is on.
- */
- size_t fanFault = 0;
+ /**
+ * @brief Indicates a fan fault or warning condition was detected if
+ * equal to FAULT_COUNT.
+ *
+ * @details This is incremented when the 'FAN_FAULT' bit in the
+ * STATUS_WORD command response is on.
+ */
+ size_t fanFault = 0;
- /**
- * @brief Indicates a temperature fault or warn condition was detected
- * if equal to FAULT_COUNT.
- *
- * @details This is incremented when the 'TEMPERATURE_FAULT_WARN' bit
- * in the STATUS_WORD command response is on, or if the
- * 'OT_FAULT' bit in the STATUS_TEMPERATURE command response
- * is on.
- */
- size_t temperatureFault = 0;
+ /**
+ * @brief Indicates a temperature fault or warn condition was detected
+ * if equal to FAULT_COUNT.
+ *
+ * @details This is incremented when the 'TEMPERATURE_FAULT_WARN' bit
+ * in the STATUS_WORD command response is on, or if the
+ * 'OT_FAULT' bit in the STATUS_TEMPERATURE command response
+ * is on.
+ */
+ size_t temperatureFault = 0;
- /**
- * @brief Class that manages the input power history records.
- */
- std::unique_ptr<history::RecordManager> recordManager;
+ /**
+ * @brief Class that manages the input power history records.
+ */
+ std::unique_ptr<history::RecordManager> recordManager;
- /**
- * @brief The D-Bus object for the average input power history
- */
- std::unique_ptr<history::Average> average;
+ /**
+ * @brief The D-Bus object for the average input power history
+ */
+ std::unique_ptr<history::Average> average;
- /**
- * @brief The D-Bus object for the maximum input power history
- */
- std::unique_ptr<history::Maximum> maximum;
+ /**
+ * @brief The D-Bus object for the maximum input power history
+ */
+ std::unique_ptr<history::Maximum> maximum;
- /**
- * @brief The base D-Bus object path to use for the average
- * and maximum objects.
- */
- std::string historyObjectPath;
+ /**
+ * @brief The base D-Bus object path to use for the average
+ * and maximum objects.
+ */
+ std::string historyObjectPath;
- /**
- * @brief The GPIO device path to use for sending the 'sync'
- * command to the PS.
- */
- std::string syncGPIODevPath;
+ /**
+ * @brief The GPIO device path to use for sending the 'sync'
+ * command to the PS.
+ */
+ std::string syncGPIODevPath;
- /**
- * @brief The GPIO number to use for sending the 'sync'
- * command to the PS.
- */
- size_t syncGPIONumber = 0;
+ /**
+ * @brief The GPIO number to use for sending the 'sync'
+ * command to the PS.
+ */
+ size_t syncGPIONumber = 0;
- /**
- * @brief Callback for inventory property changes
- *
- * Process change of Present property for power supply.
- *
- * @param[in] msg - Data associated with Present change signal
- *
- */
- void inventoryChanged(sdbusplus::message::message& msg);
+ /**
+ * @brief Callback for inventory property changes
+ *
+ * Process change of Present property for power supply.
+ *
+ * @param[in] msg - Data associated with Present change signal
+ *
+ */
+ void inventoryChanged(sdbusplus::message::message& msg);
- /**
- * Updates the presence status by querying D-Bus
- *
- * The D-Bus inventory properties for this power supply will be read to
- * determine if the power supply is present or not and update this
- * objects present member variable to reflect current status.
- */
- void updatePresence();
+ /**
+ * Updates the presence status by querying D-Bus
+ *
+ * The D-Bus inventory properties for this power supply will be read to
+ * determine if the power supply is present or not and update this
+ * objects present member variable to reflect current status.
+ */
+ void updatePresence();
- /**
- * @brief Updates the poweredOn status by querying D-Bus
- *
- * The D-Bus property for the system power state will be read to
- * determine if the system is powered on or not.
- */
- void updatePowerState();
+ /**
+ * @brief Updates the poweredOn status by querying D-Bus
+ *
+ * The D-Bus property for the system power state will be read to
+ * determine if the system is powered on or not.
+ */
+ void updatePowerState();
- /**
- * @brief Callback for power state property changes
- *
- * Process changes to the powered on stat property for the system.
- *
- * @param[in] msg - Data associated with the power state signal
- */
- void powerStateChanged(sdbusplus::message::message& msg);
+ /**
+ * @brief Callback for power state property changes
+ *
+ * Process changes to the powered on stat property for the system.
+ *
+ * @param[in] msg - Data associated with the power state signal
+ */
+ void powerStateChanged(sdbusplus::message::message& msg);
- /**
- * @brief Wrapper for PMBus::read() and adding metadata
- *
- * @param[out] nv - NamesValues instance to store cmd string and value
- * @param[in] cmd - String for the command to read data from.
- * @param[in] type - The type of file to read the command from.
- */
- void captureCmd(util::NamesValues& nv, const std::string& cmd,
- witherspoon::pmbus::Type type);
+ /**
+ * @brief Wrapper for PMBus::read() and adding metadata
+ *
+ * @param[out] nv - NamesValues instance to store cmd string and value
+ * @param[in] cmd - String for the command to read data from.
+ * @param[in] type - The type of file to read the command from.
+ */
+ void captureCmd(util::NamesValues& nv, const std::string& cmd,
+ witherspoon::pmbus::Type type);
- /**
- * @brief Checks for input voltage faults and logs error if needed.
- *
- * Check for voltage input under voltage fault (VIN_UV_FAULT) and/or
- * input fault or warning (INPUT_FAULT), and logs appropriate error(s).
- *
- * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
- */
- void checkInputFault(const uint16_t statusWord);
+ /**
+ * @brief Checks for input voltage faults and logs error if needed.
+ *
+ * Check for voltage input under voltage fault (VIN_UV_FAULT) and/or
+ * input fault or warning (INPUT_FAULT), and logs appropriate error(s).
+ *
+ * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
+ */
+ void checkInputFault(const uint16_t statusWord);
- /**
- * @brief Checks for power good negated or unit is off in wrong state
- *
- * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
- */
- void checkPGOrUnitOffFault(const uint16_t statusWord);
+ /**
+ * @brief Checks for power good negated or unit is off in wrong state
+ *
+ * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
+ */
+ void checkPGOrUnitOffFault(const uint16_t statusWord);
- /**
- * @brief Checks for output current over current fault.
- *
- * IOUT_OC_FAULT is checked, if on, appropriate error is logged.
- *
- * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
- */
- void checkCurrentOutOverCurrentFault(const uint16_t statusWord);
+ /**
+ * @brief Checks for output current over current fault.
+ *
+ * IOUT_OC_FAULT is checked, if on, appropriate error is logged.
+ *
+ * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
+ */
+ void checkCurrentOutOverCurrentFault(const uint16_t statusWord);
- /**
- * @brief Checks for output overvoltage fault.
- *
- * VOUT_OV_FAULT is checked, if on, appropriate error is logged.
- *
- * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
- */
- void checkOutputOvervoltageFault(const uint16_t statusWord);
+ /**
+ * @brief Checks for output overvoltage fault.
+ *
+ * VOUT_OV_FAULT is checked, if on, appropriate error is logged.
+ *
+ * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
+ */
+ void checkOutputOvervoltageFault(const uint16_t statusWord);
- /**
- * @brief Checks for a fan fault or warning condition.
- *
- * The high byte of STATUS_WORD is checked to see if the "FAN FAULT OR
- * WARNING" bit is turned on. If it is on, log an error.
- *
- * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
- */
- void checkFanFault(const uint16_t statusWord);
+ /**
+ * @brief Checks for a fan fault or warning condition.
+ *
+ * The high byte of STATUS_WORD is checked to see if the "FAN FAULT OR
+ * WARNING" bit is turned on. If it is on, log an error.
+ *
+ * @param[in] statusWord - 2 byte STATUS_WORD value read from sysfs
+ */
+ void checkFanFault(const uint16_t statusWord);
- /**
- * @brief Checks for a temperature fault or warning condition.
- *
- * The low byte of STATUS_WORD is checked to see if the "TEMPERATURE
- * FAULT OR WARNING" bit is turned on. If it is on, log an error,
- * call out the power supply indicating the fault/warning condition.
- *
- * @parma[in] statusWord - 2 byte STATUS_WORD value read from sysfs
- */
- void checkTemperatureFault(const uint16_t statusWord);
+ /**
+ * @brief Checks for a temperature fault or warning condition.
+ *
+ * The low byte of STATUS_WORD is checked to see if the "TEMPERATURE
+ * FAULT OR WARNING" bit is turned on. If it is on, log an error,
+ * call out the power supply indicating the fault/warning condition.
+ *
+ * @parma[in] statusWord - 2 byte STATUS_WORD value read from sysfs
+ */
+ void checkTemperatureFault(const uint16_t statusWord);
- /**
- * @brief Adds properties to the inventory.
- *
- * Reads the values from the device and writes them to the
- * associated power supply D-Bus inventory object.
- *
- * This needs to be done on startup, and each time the presence
- * state changes.
- *
- * Properties added:
- * - Serial Number
- * - Part Number
- * - CCIN (Customer Card Identification Number) - added as the Model
- * - Firmware version
- */
- void updateInventory();
+ /**
+ * @brief Adds properties to the inventory.
+ *
+ * Reads the values from the device and writes them to the
+ * associated power supply D-Bus inventory object.
+ *
+ * This needs to be done on startup, and each time the presence
+ * state changes.
+ *
+ * Properties added:
+ * - Serial Number
+ * - Part Number
+ * - CCIN (Customer Card Identification Number) - added as the Model
+ * - Firmware version
+ */
+ void updateInventory();
- /**
- * @brief Toggles the GPIO to sync power supply input history readings
- *
- * This GPIO is connected to all supplies. This will clear the
- * previous readings out of the supplies and restart them both at the
- * same time zero and at record ID 0. The supplies will return 0
- * bytes of data for the input history command right after this until
- * a new entry shows up.
- *
- * This will cause the code to delete all previous history data and
- * start fresh.
- */
- void syncHistory();
+ /**
+ * @brief Toggles the GPIO to sync power supply input history readings
+ *
+ * This GPIO is connected to all supplies. This will clear the
+ * previous readings out of the supplies and restart them both at the
+ * same time zero and at record ID 0. The supplies will return 0
+ * bytes of data for the input history command right after this until
+ * a new entry shows up.
+ *
+ * This will cause the code to delete all previous history data and
+ * start fresh.
+ */
+ void syncHistory();
- /**
- * @brief Reads the most recent input history record from the power
- * supply and updates the average and maximum properties in
- * D-Bus if there is a new reading available.
- *
- * This will still run every time analyze() is called so code can
- * post new data as soon as possible and the timestamp will more
- * accurately reflect the correct time.
- *
- * D-Bus is only updated if there is a change and the oldest record
- * will be pruned if the property already contains the max number of
- * records.
- */
- void updateHistory();
+ /**
+ * @brief Reads the most recent input history record from the power
+ * supply and updates the average and maximum properties in
+ * D-Bus if there is a new reading available.
+ *
+ * This will still run every time analyze() is called so code can
+ * post new data as soon as possible and the timestamp will more
+ * accurately reflect the correct time.
+ *
+ * D-Bus is only updated if there is a change and the oldest record
+ * will be pruned if the property already contains the max number of
+ * records.
+ */
+ void updateHistory();
};
-}
-}
-}
+} // namespace psu
+} // namespace power
+} // namespace witherspoon