linux/drivers/hwmon/pmbus
Guenter Roeck 1ae94553dc hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
[ Upstream commit b153a0bb41 ]

The PMON_CONFIG register on ADM1272 is a 16 bit register. Writing a 8 bit
value into it clears the upper 8 bits of the register, resulting in
unexpected side effects. Fix by writing the 16 bit register value.

Also, it has been reported that temperature readings are sometimes widely
inaccurate, to the point where readings may result in device shutdown due
to errant overtemperature faults. Improve by enabling temperature sampling.

While at it, move the common code for ADM1272 and ADM1278 into a separate
function, and clarify in the error message that an attempt was made to
enable both VOUT and temperature monitoring.

Last but not least, return the error code reported by the underlying I2C
controller and not -ENODEV if updating the PMON_CONFIG register fails.
After all, this does not indicate that the chip is not present, but an
error in the communication with the chip.

Fixes: 4ff0ce227a ("hwmon: (pmbus/adm1275) Add support for ADM1272")
Fixes: 9da9c2dc57 ("hwmon: (adm1275) enable adm1272 temperature reporting")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20230602213447.3557346-1-linux@roeck-us.net
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-07-19 16:21:27 +02:00
..
adm1266.c hwmon: (adm1266) Set can_sleep flag for GPIO chip 2023-03-22 13:33:52 +01:00
adm1275.c hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 2023-07-19 16:21:27 +02:00
bel-pfe.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
bpa-rs600.c hwmon: (pmbus/bpa-rs600) Add workaround for incorrect Pin max 2021-08-17 14:54:27 -07:00
delta-ahe50dc-fan.c hwmon: (pmbus) delta-ahe50dc-fan: work around hardware quirk 2022-04-27 04:52:18 -07:00
dps920ab.c hwmon: (pmbus/dps920ab) Delete some dead code 2021-06-18 12:45:58 -07:00
fsp-3y.c hwmon: (pmbus/fsp-3y) Fix functionality bitmask in FSP-3Y YM-2151E 2023-05-11 23:03:16 +09:00
ibm-cffps.c hwmon: (pmbus/ibm-cffps) Use MFR_ID to choose version 2021-10-12 07:22:41 -07:00
inspur-ipsps.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
ir35221.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
ir36021.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
ir38064.c hwmon: (pmbus/ir38064) Mark ir38064_of_match as __maybe_unused 2022-01-23 18:21:27 -08:00
irps5401.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
isl68137.c hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_3 for RAA228228 2021-05-16 16:00:56 -07:00
Kconfig hwmon: (pmbus) Add driver for the TEXAS TPS546D24 Buck Converter. 2022-09-25 14:21:52 -07:00
lm25066.c hwmon: (pmbus/lm25066) Add regulator support 2022-02-27 17:03:18 -08:00
lt7182s.c hwmon: (pmbus) Add support for Analog Devices LT7182S 2022-07-13 08:38:19 -07:00
ltc2978.c hwmon: (pmbus/ltc2978) Set voltage resolution 2022-07-13 08:38:20 -07:00
ltc3815.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
Makefile hwmon: (pmbus) Add driver for the TEXAS TPS546D24 Buck Converter. 2022-09-25 14:21:52 -07:00
max8688.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
max15301.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
max16064.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
max16601.c hwmon: (pmbus/max16601) Add MAX16602 support 2022-05-20 10:57:05 -07:00
max20730.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
max20751.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
max31785.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
max34440.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
mp2888.c hwmon: (pmbus/mp2888) Fix sensors readouts for MPS Multi-phase mp2888 controller 2022-10-02 08:07:11 -07:00
mp2975.c hwmon: (pmbus/mp2975) Add missed POUT attribute for page 1 mp2975 controller 2021-10-02 04:45:49 -07:00
mp5023.c hwmon: (pmbus) Add support for MPS Multi-phase mp5023 2021-12-26 15:02:06 -08:00
pim4328.c hwmon: (pmbus/pim4328) Add PMBus driver for PIM4006, PIM4328 and PIM4820 2021-06-17 04:21:46 -07:00
pli1209bc.c hwmon: (pmbus/pli1209bc) Add regulator support 2022-02-27 17:03:19 -08:00
pm6764tr.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
pmbus.c hwmon: (pmbus) Add support for additional Flex BMR converters to pmbus 2021-06-17 04:21:45 -07:00
pmbus.h Revert "hwmon: (pmbus) Add regulator supply into macro" 2022-11-04 16:47:01 -07:00
pmbus_core.c Thermal control updates for 6.1-rc1 2022-10-03 15:33:38 -07:00
pxe1610.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
q54sj108a2.c hwmon/pmbus: (q54sj108a2) The PMBUS_MFR_ID is actually 6 chars instead of 5 2021-05-17 16:02:05 -07:00
stpddc60.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
tps546d24.c hwmon: (pmbus) Add driver for the TEXAS TPS546D24 Buck Converter. 2022-09-25 14:21:52 -07:00
tps40422.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
tps53679.c hwmon: (pmbus) Introduce PMBUS symbol namespace 2021-04-20 06:50:14 -07:00
ucd9000.c hwmon: (ucd90320) Add minimum delay between bus accesses 2023-03-22 13:33:52 +01:00
ucd9200.c hwmon: (pmbus/ucd9200) fix typos in comments 2022-06-29 14:02:08 -07:00
xdpe152c4.c hwmon: (pmbus) Add support for Infineon Digital Multi-phase xdp152 family controllers 2022-05-22 11:32:20 -07:00
xdpe12284.c hwmon: (xdpe12284) Fix build warning seen if CONFIG_SENSORS_XDPE122_REGULATOR is disabled 2022-04-04 06:54:30 -07:00
zl6100.c hwmon: (pmbus/zl6100) Add support for ZLS1003, ZLS4009 and ZL8802 2021-06-17 04:21:43 -07:00