[PATCH v2 0/6] hwmon: (adt7470) Add thermal zone and PWM provider support
Luiz Angelo Daros de Luca <[email protected]> Fri, 17 Jul 2026 17:59:13 -0300
| Newsgroups | org.kernel.vger.linux-pwm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The ADT7470 is a temperature monitor and PWM fan controller capable of monitoring up to 10 external temperature sensors and controlling up to 4 PWM outputs. Currently, the driver exposes these sensors and PWM controls solely via the standard hwmon sysfs interface. This patch series integrates the ADT7470 driver with the kernel's thermal and PWM subsystems. This allows its temperature sensors to be referenced by Device Tree thermal zones, and its PWM channels to be consumed by generic Device Tree nodes (such as "pwm-fan"). Patch 1 adds the YAML device tree binding documentation. Patch 2 and 3 fix two pre-existing bugs found while testing this series (fans stuck in manual mode after an I2C error, and a busy-loop/I2C-flooding condition when auto_update_interval or num_temp_sensors is 0). Patch 4 performs a minor refactoring to introduce the ADT7470_PWM_MAX macro. Patch 5 registers the 4 PWM channels as a generic PWM provider. Patch 6 registers the external temperature sensors as optional thermal zones. Signed-off-by: Luiz Angelo Daros de Luca <[email protected]> --- Changes in v2: - Fixed 2 previous bugs uncovered by Sashiko-bot during review. - Dropped the thermal cooling device registration for the PWM channels. - Implemented generic PWM provider support using the PWM subsystem. - Updated Kconfig to safely handle the PWM subsystem dependency (depends on PWM || PWM=n). - Updated Device Tree bindings to require #pwm-cells instead of #cooling-cells. - Link to v1: https://patch.msgid.link/[email protected] To: Guenter Roeck <[email protected]> To: Rob Herring <[email protected]> To: Krzysztof Kozlowski <[email protected]> To: Conor Dooley <[email protected]> To: de Luca <[email protected]> To: Chris Packham <[email protected]> To: Andrew Morton <[email protected]> To: "Darrick J. Wong" <[email protected]> To: Uwe Kleine-König <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- Luiz Angelo Daros de Luca (6): dt-bindings: hwmon: add binding for adi,adt7470 hwmon: (adt7470) Fix fans stuck in manual mode on I2C errors hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread hwmon: (adt7470) Add ADT7470_PWM_MAX macro hwmon: (adt7470) Register as a PWM provider hwmon: (adt7470) Add thermal zone sensor support .../devicetree/bindings/hwmon/adi,adt7470.yaml | 62 +++++++++++ drivers/hwmon/Kconfig | 1 + drivers/hwmon/adt7470.c | 118 ++++++++++++++++++--- 3 files changed, 166 insertions(+), 15 deletions(-) --- base-commit: ca078d004cf58137bcf8cb24a8b271397431ba58 change-id: 20260716-adt7470_thermalzone-59a102278d72 Best regards, -- Luiz Angelo Daros de Luca <[email protected]>