[PATCH v2 0/3] hwmon: (pmbus) Add support for additional Flex BMR converters to the pmbus driver

From: Erik Rosen
Date: Fri May 07 2021 - 15:40:35 EST


Some Flex pmbus converters (BMR310, BMR458, BMR80, BMR490 and BMR491)
end up in an undefined state when trying to read a register that does
not exist in the chip. This causes the following chip access to also
fail even if it is a valid register read or write. This will mess up the
pmbus driver auto-detection process.

One way to reset the pmbus state machine to a known state is to read
a register that is known to exist. This read will fail but will also
reset the chip into a known state.

For such chips we suggest adding a new pmbus flag:
PMBUS_READ_STATUS_AFTER_FAILED_CHECK
By setting this flag the driver will try to read the STATUS register
after each failed register check. This read may fail, but it will put
the chip into a known state so that the auto-detection process can
proceed correctly.

Add support for Flex BMR310, BMR456, BMR457, BMR458, BMR480, BMR490,
BMR491 and BMR492 to the pmbus driver

This patch has been tested with Flex BMR310, BMR456, BMR457, BMR458,
BMR480, BMR490, BMR491 and BMR492 converter modules

v2
-Copy all flags to pmbus_platform_data struct instead of one by one
-Fix code formatting in pmbus_core documentation
-Add documentation for flag NO_CAPABILITY
-Fix sorting of chip names and prefix in pmbus documentation

Erik Rosen (3):
Add new flag PMBUS_READ_STATUS_AFTER_FAILED_CHECK
Add documentation for new flags
Add support for Flex BMR310, BMR456, BMR457, BMR458, BMR480, BMR490,
BMR491 and BMR492 to the pmbus driver

Documentation/hwmon/pmbus-core.rst | 42 +++++++++++++++++++++++++++---
Documentation/hwmon/pmbus.rst | 11 +++++---
drivers/hwmon/pmbus/Kconfig | 7 ++---
drivers/hwmon/pmbus/pmbus.c | 19 ++++++++++++--
drivers/hwmon/pmbus/pmbus_core.c | 2 ++
include/linux/pmbus.h | 13 +++++++++
6 files changed, 81 insertions(+), 13 deletions(-)


base-commit: 1e28eed17697bcf343c6743f0028cc3b5dd88bf0
--
2.20.1