commit | 169975cf30bc41c5b83edd34bf95e913ac0a6fa1 | [log] [tgz] |
---|---|---|
author | Adriana Kobylak <anoo@us.ibm.com> | Sat Mar 06 15:19:55 2021 +0000 |
committer | Adriana Kobylak <anoo@us.ibm.com> | Sat Mar 06 16:18:45 2021 +0000 |
tree | f5167936a2010bff20db05e30fef7cf758d64b04 | |
parent | 0635df219c24cc9b052bd0b1e877d309fd4223fa [diff] |
psu-ng: Remove Min Power Supplies and cleanup The psu manager would not prevent a power on based on the number of power supplies, it's only concerned about the max number so that if the number of plugged power supplies is less than the specified max, then it can take action such as log an error. Therefore there's not a current use case for the min setting, so removing it. Also cleanup the function that parses that information from the JSON config file, like removing passing parameters that are class members, and adding a doxygen description. In addition, have the structure of system properties as part of the class instead of individual variables, since it's duplicate work to set the structure values then set the individual variables. Tested: With debug traces verified that maxPowerSupplies was set to 2 which is the value in the JSON config file. Change-Id: Id98900d213fcbef38dc3879b425161a8af172716 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
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", }