commit | 38ed88d66652c0927ffdc38fe9b0f47fd62e7015 | [log] [tgz] |
---|---|---|
author | Shawn McCarney <shawnmm@us.ibm.com> | Wed Dec 11 12:26:09 2019 -0600 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Thu Dec 12 16:48:20 2019 -0600 |
tree | 27284a30e0b3267d4ddc7817a0fb5eb1107468a3 | |
parent | d45a9a6d80b8172e8d1c7b3019dc6d75d23e3547 [diff] |
i2c: Cache adapter functionality Enhance the I2CDevice class to cache the I2C adapter functionality value. The adapter functionality value should not change while the device interface is open. Caching the functionality value will reduce the number of ioctl() calls by 50% when doing long sequences of I2C operations. Tested: * Verified adapter functionality value is cached * Verified read() method works on a Witherspoon * Verified close() method discards the cached functionality value Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I2b17d91ae4e21aaf52cd4cec9eddb5aab7be37e5
Code for detecting and analyzing power faults on Witherspoon.
To build this package, do the following steps: 1. meson build 2. ninja -C build To clean the repository again run `rm -rf build`.
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", }