xref: /openbmc/phosphor-hwmon/README.md (revision 46a29b7f)
1*46a29b7fSPatrick Williams# phosphor-hwmon
2*46a29b7fSPatrick Williams
35203d48aSPatrick WilliamsExposes generic hwmon entries as DBus objects. More information can be found at
4ddbf1c68SGunnar Mills[Sensor Architecture](https://github.com/openbmc/docs/blob/master/architecture/sensor-architecture.md)
56292aeedSMatthew Barth
66292aeedSMatthew Barth## To Build
75203d48aSPatrick Williams
86292aeedSMatthew BarthTo build this package, do the following steps:
96292aeedSMatthew Barth
10*46a29b7fSPatrick Williams1. meson setup build
116f42e356SMatt Spinler2. ninja -C build
126292aeedSMatthew Barth
136f42e356SMatt SpinlerTo clean the repository run `rm -rf build`.
144d9a35b2SBrad Bishop
154d9a35b2SBrad Bishop## D-Bus bus names
164d9a35b2SBrad Bishop
17*46a29b7fSPatrick WilliamsTo enable the use of Linux features like cgroups prioritization and udev/systemd
18*46a29b7fSPatrick Williamscontrol, one instance of phosphor-hwmon is intended to be run per hwmon sysfs
19*46a29b7fSPatrick Williamsclass instance.
204d9a35b2SBrad Bishop
214d9a35b2SBrad BishopThis requires an algorithm for selecting a stable, well-known D-Bus busname.
224d9a35b2SBrad Bishop
23*46a29b7fSPatrick WilliamsThe algorithm is `<PREFIX>-<ID>.Hwmon<N>` where PREFIX is a meson configurable
24*46a29b7fSPatrick Williamsprefix (`BUSNAME_PREFIX=xyz.openbmc_project` by default), ID is either a
25*46a29b7fSPatrick Williams`std::hash` of the `/sys/devices` path backing the hwmon class instance or
26*46a29b7fSPatrick Williamsprovided suffix value from the command line, and N is the implemented
27*46a29b7fSPatrick Williamsphosphor-hwmon D-Bus API version.
28