[hwmon-next PATCH v4 0/4] hwmon: (adt7470) Add PWM provider and thermal sensor support

From: Luiz Angelo Daros de Luca

Date: Wed Jul 29 2026 - 00:48:14 EST


The ADT7470 is a temperature monitor and PWM fan controller capable of
monitoring up to ten external temperature sensors and controlling up to
four PWM outputs.

Currently, the driver exposes these sensors and PWM controls only
through the hwmon sysfs interface. This patch series integrates the
ADT7470 driver with the kernel's thermal and PWM subsystems. This allows
temperature sensors to participate in Device Tree thermal zones while
exposing the PWM outputs as generic PWM providers for consumers such as
pwm-fan.

Patch 1 adds the YAML device tree binding documentation.
Patch 2 introduces the ADT7470_PWM_MAX macro.
Patch 3 registers the four PWM channels as a generic PWM provider.
Patch 4 registers the external temperature sensors with the thermal
framework.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@xxxxxxxxx>

---
Changes in v4:
- dt-bindings: Dropped redundant descriptions for standard properties
(#pwm-cells and #thermal-sensor-cells).
- dt-bindings: Conditionally referenced thermal-sensor.yaml to preserve
ABI compatibility.
- dt-bindings: Switched to unevaluatedProperties due to the imported $ref.
- Link to v3: https://patch.msgid.link/20260728-adt7470_thermalzone-v3-0-d4586478cdba@xxxxxxxxx

Changes in v3:
- Migrated from the `.apply` callback to the PWM Waveform API.
- Moved fixes to another patch series:
20260727-adt7470_thermalzone-v3-0-21424d550c3d@xxxxxxxxx
- Use guard(mutex) for simpler locking.
- Link to v2: https://patch.msgid.link/20260717-adt7470_thermalzone-v2-0-a55147958fad@xxxxxxxxx

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/20260716-adt7470_thermalzone-v1-0-cc55ef35edde@xxxxxxxxx

To: Guenter Roeck <linux@xxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Luiz Angelo Daros de Luca <luizluca@xxxxxxxxx>
To: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: "Darrick J. Wong" <djwong@xxxxxxxxxx>
To: Uwe Kleine-König <ukleinek@xxxxxxxxxx>
Cc: linux-hwmon@xxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-pwm@xxxxxxxxxxxxxxx

---
Luiz Angelo Daros de Luca (4):
dt-bindings: hwmon: add adi,adt7470
hwmon: (adt7470) Add ADT7470_PWM_MAX macro
hwmon: (adt7470) Expose fan control via PWM framework
hwmon: (adt7470) Add thermal zone sensor support

.../devicetree/bindings/hwmon/adi,adt7470.yaml | 58 ++++++++
drivers/hwmon/Kconfig | 1 +
drivers/hwmon/adt7470.c | 146 ++++++++++++++++++++-
3 files changed, 202 insertions(+), 3 deletions(-)
---
base-commit: 4c2e8c377915496fbe9cc1c9d91a7297aaa01783
change-id: 20260716-adt7470_thermalzone-59a102278d72

Best regards,
--
Luiz Angelo Daros de Luca <luizluca@xxxxxxxxx>