| commit | 38f8500414fe5c1be6f5159c563937289fe557c2 | [log] [tgz] |
|---|---|---|
| author | Shawn McCarney <shawnmm@us.ibm.com> | Fri Oct 31 17:59:36 2025 -0500 |
| committer | Shawn McCarney <shawnmm@us.ibm.com> | Tue Nov 18 13:33:00 2025 -0600 |
| tree | e1e625fc3f33adb68671f35fa8618e2699d4c2d3 | |
| parent | 068f8073da127f5039d946e9e090390493f651fe [diff] |
Create common json_parser_utils functions Create a json_parser_utils namespace containing common functions for parsing JSON. Extract the common functions from the JSON parsing code in the phosphor-regulators and phosphor-power-sequencer applications. Both applications have some identical parsing functions. Create a common ConfigFileParserError class. The phosphor-regulators and phosphor-power-sequencer applications both have an identical version of this exception class. Extract the common test cases from the two applications and put them in a common location as well. Summary: * Common JSON parsing functions in phosphor-power-sequencer/src/config_file_parser.* and phosphor-regulators/src/config_file_parser.* moved to json_parser_utils.* * Common test cases in phosphor-power-sequencer/test/config_file_parser_tests.cpp and phosphor-regulators/test/config_file_parser_tests.cpp moved to test/json_parser_utils_tests.cpp * phosphor-power-sequencer/src/config_file_parser_error.hpp and phosphor-regulators/src/config_file_parser_error.hpp replaced with config_file_parser_error.hpp * phosphor-power-sequencer/test/config_file_parser_error_tests.cpp and phosphor-regulators/test/config_file_parser_error_tests.cpp replaced with test/config_file_parser_error_tests.cpp Tested: * Ran automated test cases. Change-Id: I35074c5e42d9e89def41ba8e729fe11c54ed8d27 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
This repository contains applications for configuring and monitoring devices that deliver power to the system.
Actively-maintained applications:
Legacy applications:
To build all applications in this repository:
meson setup 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/<driver>.<instance>//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", }