Files
android_kernel_xiaomi_sm8450/drivers/hwmon
Lars-Peter Clausen c5bd9719b5 hwmon: (ucd90320) Add minimum delay between bus accesses
[ Upstream commit 8d655e65237643c48ada2c131b83679bf1105373 ]

When probing the ucd90320 access to some of the registers randomly fails.
Sometimes it NACKs a transfer, sometimes it returns just random data and
the PEC check fails.

Experimentation shows that this seems to be triggered by a register access
directly back to back with a previous register write. Experimentation also
shows that inserting a small delay after register writes makes the issue go
away.

Use a similar solution to what the max15301 driver does to solve the same
problem. Create a custom set of bus read and write functions that make sure
that the delay is added.

Fixes: a470f11c5b ("hwmon: (pmbus/ucd9000) Add support for UCD90320 Power Sequencer")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20230312160312.2227405-1-lars@metafoo.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-03-22 13:30:01 +01:00
..
2021-05-19 10:13:13 +02:00
2019-10-18 19:37:08 +01:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-24 07:44:51 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-11-12 07:00:59 -08:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:40 -07:00
2020-10-04 08:40:10 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2019-11-06 14:37:19 -08:00
2019-11-06 14:37:19 -08:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00
2020-09-23 09:42:39 -07:00