w1: ds2438: support for writing to offset register
authorLuiz Sampaio <sampaio.ime@gmail.com>
Wed, 19 May 2021 22:30:46 +0000 (19:30 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 May 2021 12:51:33 +0000 (14:51 +0200)
commitc999fbbdcf778c2ea77f59e26d7448a1ab8fa8a2
tree5b34a7edafc482b89659100a27383abb748edfe5
parentfd6ec5d79507f99639c94f107e8a98550c9e1cf6
w1: ds2438: support for writing to offset register

Added a sysfs entry to support writing to the offset register on page1.
This register is used to calibrate the chip canceling offset errors in the
current ADC. This means that, over time, reading the IAD register will not
return the correct current measurement, it will have an offset. Writing to
the offset register if the two's complement of the current register while
passing zero current to the load will calibrate the measurements. This
change was tested on real hardware and it was able to calibrate the chip
correctly.

Signed-off-by: Luiz Sampaio <sampaio.ime@gmail.com>
Link: https://lore.kernel.org/r/20210519223046.13798-7-sampaio.ime@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/stable/sysfs-driver-w1_ds2438
Documentation/w1/slaves/w1_ds2438.rst
drivers/w1/slaves/w1_ds2438.c