commit | 1aaf9f859d37f5de959e97da809311e75e6ffcdb | [log] [tgz] |
---|---|---|
author | Matt Spinler <spinler@us.ibm.com> | Wed Mar 22 09:52:22 2023 -0500 |
committer | Matt Spinler <spinler@us.ibm.com> | Fri Mar 24 16:19:15 2023 -0500 |
tree | 0aba20d2c1524b5df6671aff20d0b6668c0be5e0 | |
parent | b40f04c2ce2b9fdfae183a37d54294344a79cd72 [diff] |
psu-ng: Remove power rating prop if PS not present When the power is turned on, the input power rating properties were only being created or updated, and if the PS wasn't present nothing was being done. So if a PS was previously present but was removed, its property would stay on D-Bus. Fix that by deleting the interface if the PS isn't present at the time of the check. As PLDM is listening for this and it doesn't handle InterfacesRemoved signals, also set the value to zero before removing it so that they will at least see a value of zero for the missing PS. At the time of this writing, the only consumer of this property was hostboot (the BIOS for IBM systems) via PLDM, and they were also checking if the PS was present before using it so technically they weren't broken, but it's good to fix it anyway because it's misleading. Change-Id: I708014bdb12288d95e77028186b38a812f87e916 Signed-off-by: Matt Spinler <spinler@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", }