commit | 67ce4a46999012eba2a0015a51619f474967d21c | [log] [tgz] |
---|---|---|
author | Matt Spinler <spinler@us.ibm.com> | Thu Nov 16 13:03:16 2017 -0600 |
committer | Matt Spinler <spinler@us.ibm.com> | Thu Nov 16 13:21:42 2017 -0600 |
tree | 5c2d7a92f02ca6f699a7c1bbe7de400929309930 | |
parent | 4d9a35b232f0bfabe961768f346d958399ff0dec [diff] |
Retry on ENODATA errors A particular device in a particular system is known to fail with an ENODATA errno when another entity is using the same path to access it. Add it to the retry list so that phosphor-hwmon will retry and hopefully be able to get a clean read. Even for devices where this contention isn't the case, the code may as well retry as opposed to trying once and giving up. Resolves openbmc/openbmc#2645 Change-Id: Ib7aaaa14be33a33794a8c62d6991f77ab65a2ffa Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Exposes generic hwmon entries as DBus objects.
To build this package, do the following steps: 1. ./bootstrap.sh 2. ./configure ${CONFIGURE_FLAGS} 3. make To full clean the repository again run `./bootstrap.sh clean`.
To enable the use of Linux features like cgroups prioritization and udev/systemd control, one instance of phosphor-hwmon is intended to be run per hwmon sysfs class instance. This requires an algorithm for selecting a stable, well-known D-Bus busname. The algorithm is <PREFIX>-<ID>.Hwmon<N> where PREFIX is an autoconf configurable prefix (BUSNAME_PREFIX, xyz.openbmc_project by default), ID is a std::hash of the /sys/devices path backing the hwmon class instance, and N is the implemented phosphor-hwmon D-Bus API version.