v1: * https://lore.kernel.org/linux-hwmon/20231110151905.1659873-1-nuno.sa@xxxxxxxxxx/ v2: * https://lore.kernel.org/linux-hwmon/20231124-ltc4282-support-v2-0-952bf926f83c@xxxxxxxxxx v3: * https://lore.kernel.org/r/20231205-ltc4282-support-v3-0-e0877b281bc2@xxxxxxxxxx Changes in v4: - Patch 1: * New patch. Support fault attributes in voltage channels. - Patch 2: * Add default values for gpios and divider properties; * Add adi,gpio3-monitor-enable property. - Patch 3: - Docs: * Document that fault logs are also cleared when writing in reset_history attributes; * Document debugfs entries; * Add new in0_fault attributes and remove dropped ones. - Driver: * Add hwmon_in_fault attribute to report FET failures in VSOURCE; * Clear fault logs in reset_history; * Constify 'ltc4282_out_rates'; * Add missing error check in ltc4282_cache_history(); * Removed unused functions; * Renamed clk provider name so it's unique per device; * Support new adi,gpio3-monitor-enable property; * Dropped power1_good, fet_bad_fault, fet_short_fault, fault_logs_reset custom attributes. Note that only power1_good was really dropped. The other ones are supported in standard ABI. * Renamed debugfs directory for ltc4282-hwmonX; * Added in0 prefix to FET fault logs so it's clear they affect VSOURCE; * Fix in_range() condition (false means error); * Fix reset_history attributes. We should not write 0 in the lowest value. Write the theoretical max value in there. For vsource/vdd, also do it during device setup (or we would end up with 0). * Directly store the chip vdd instead of vin_mode in our device structure. Easier to handle reset_history; * Moved the vin_mode enum to reduce it's scope. As mentioned in v3 discussion, clearing the power bad fault log has no effect but I'm still doing it for consistency and because we also allow to read it in debugfs (so better allow to clear it as well) I've also added Conor's reviewed-by tag while resending. --- Nuno Sa (3): dt-bindings: hwmon: Add LTC4282 bindings hwmon: add fault attribute for voltage channels hwmon: ltc4282: add support for the LTC4282 chip Documentation/ABI/testing/sysfs-class-hwmon | 9 + .../devicetree/bindings/hwmon/adi,ltc4282.yaml | 159 ++ Documentation/hwmon/index.rst | 1 + Documentation/hwmon/ltc4282.rst | 133 ++ MAINTAINERS | 8 + drivers/hwmon/Kconfig | 11 + drivers/hwmon/Makefile | 1 + drivers/hwmon/hwmon.c | 1 + drivers/hwmon/ltc4282.c | 1784 ++++++++++++++++++++ include/linux/hwmon.h | 2 + 10 files changed, 2109 insertions(+) --- base-commit: 909d8d33f8b4664c9b6c7fd585114921af77fc2b change-id: 20231218-b4-ltc4282-support-2a08a85465c6 -- Thanks! - Nuno Sá