hwmon: (lm83) Use regmap
authorGuenter Roeck <linux@roeck-us.net>
Thu, 23 Dec 2021 00:22:00 +0000 (16:22 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 5 Feb 2022 18:01:33 +0000 (10:01 -0800)
commita166d8e6f5b7888cdbcfc7e564ef634397ebb6a9
treefe3c282155564687fc386a45812c8a11447aceab
parentf85e94000ac25cab58699df29a4f7d9ced90f342
hwmon: (lm83) Use regmap

Using local caching in this driver had few benefits. It used cached values
for two seconds and then re-read all registers from the chip even if the
user only accessed a single attribute. On top of that, alarm attributes
were stale for up to four seconds (the first status register read reports
and clears an alarm, the second reports it cleared). Use regmap instead
for caching. Do not re-read non-volatile registers, and do not cache
volatile registers.

As part of this change, handle register read and write address differences
in regmap code. This is necessary to avoid problems with caching in the
regmap core, and ultimately simplifies the code.

Also, errors observed when reading from and writing to registers are no
longer ignored.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/Kconfig
drivers/hwmon/lm83.c