commit | aaa4fddb13c7786442fdcdc14a5f325190ef66c2 | [log] [tgz] |
---|---|---|
author | Shawn McCarney <shawnmm@us.ibm.com> | Thu Mar 18 19:32:37 2021 -0500 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Mon Mar 22 22:22:56 2021 +0000 |
tree | 385f0477fa19fa0dec090755b142eb2a5c5ee0c2 | |
parent | 0414f0ecbaff959001a705a52d9811e4b5bf7290 [diff] |
regulators: Create error_logging_utils Create the error_logging_utils namespace for utility functions that make it easier to log errors. Create two initial functions within the namespace. The first function logs an error based on an exception. The exception may have one or more nested inner exceptions. The function finds the highest priority exception and logs a corresponding error. The second function provides the same basic behavior as the first, but it adds an ErrorHistory parameter. An error will only be logged if it was not previously logged. The ErrorHistory object is used to determine whether an error has been previously logged. This avoids logging duplicate errors if a regulator operation is occurring repeatedly, such as reading sensor values. Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: If246cde9a0f60c5bba34ae4a0d68fb511c0024fc
This repository contains applications for configuring and monitoring devices that deliver power to the system.
To build all applications in this repository:
meson build ninja -C build
To clean the repository and remove all build output:
rm -rf build
You can specify meson options to customize the build process. For example, you can specify:
Several applications in this repository require a PSU JSON config to run. The JSON config file provides information for:
There is an example psu.json to describe the necessary configurations.
inventoryPMBusAccessType
defines the pmbus access type, which tells the service which sysfs type to use to read the attributes. The possible values are:/sys/bus/i2c/devices/3-0069/
/sys/bus/i2c/devices/3-0069/hwmon/hwmonX/
/sys/kernel/debug/pmbus/hwmonX/
/sys/kernel/debug/pmbus/hwmonX/cffps1/
fruConfigs
defines the mapping between the attribute file and the FRU inventory interface and property. The configuration example below indicates that the service will read part_number
attribute file from a directory specified by the above pmbus access type, and assign to PartNumber
property in xyz.openbmc_project.Inventory.Decorator.Asset
interface."fruConfigs": [ { "propertyName": "PartNumber", "fileName": "part_number", "interface": "xyz.openbmc_project.Inventory.Decorator.Asset" } ]
psuDevices
defines the kernel device dir for each PSU in inventory. The configuration example below indicates that powersupply0
's device is located in /sys/bus/i2c/devices/3-0069
."psuDevices": { "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0069", }