mbox series

[v3,0/4] pmbus: extend configurability via sysfs

Message ID cover.1555273192.git.krzysztof.adamski@nokia.com (mailing list archive)
Headers show
Series pmbus: extend configurability via sysfs | expand

Message

Krzysztof Adamski April 14, 2019, 9:58 p.m. UTC
Hi,

This patch series extends pmbus core for two specific use cases we have:
- First three patches allows lm25066 driver to set number of samples for
  average values (by controlling manufacturer specific SAMPLES_FOR_AVG
  register). It is useful to be able to set this register when using any
  of the *_average registers, especially since the default value means
  we are averaging 1 sample which isn't that useful.
- Third patch exports m, b, R coefficients so that they can be adjusted
  by user space. We can't use default coefficients values and in order
  to achieve high accuracy, we calibrate them per unit so using
  device-tree or similar concepts (which are generally shared by all
  board of the same type) to store them is not an option too. Also,
  using device-tree (the only was to influence coeffs now) might not be
  possible on some architectures (like on x86, for example). Thus, we
  export it so that the logic of loading proper coeffs can be
  implemented in user space instead.

v3 changes:
- split ABI docs with the actual implementation
- better error handling in lm25066 implementation
- numeric permissions
- only add samples attributes for page 0

v2 changes:
- PMBUS_VIRT_* registers used instead of custom sysfs groups for
  configuring samples for average
- coeffs are only exported as sysfs attirbutes if the format used is
  "direct"
- fixed memory allocation issue in coeffs patch

Krzysztof Adamski (4):
  pmbus: introduce PMBUS_VIRT_*_SAMPLES registers
  hwmon: Document the samples attributes
  lm25066: support SAMPLES_FOR_AVG register
  pmbus_core: export coefficients via sysfs

 Documentation/hwmon/sysfs-interface |  18 +++
 drivers/hwmon/pmbus/lm25066.c       |  17 ++-
 drivers/hwmon/pmbus/pmbus.h         |  15 ++
 drivers/hwmon/pmbus/pmbus_core.c    | 214 +++++++++++++++++++++++++++-
 4 files changed, 261 insertions(+), 3 deletions(-)