| 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",
}