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>
Mon, 28 Feb 2022 01:03:16 +0000 (17:03 -0800)
commit719af4f1a40bdf46cab7e4db216af7084a70897b
treed86c1a528380836f64353ab16aa4a3dc006491cb
parent81de0eea2bbc1b1334d40c4bb420219b603b4c45
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