Re: [hwmon-next PATCH v3 1/4] dt-bindings: hwmon: adi,adt7470
Luiz Angelo Daros de Luca <[email protected]> Wed, 29 Jul 2026 01:45:42 -0300
| Newsgroups | org.kernel.vger.linux-pwm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAJq09z5CQgzzFahoiteh9ykjdbsYpP=QZ2AugzY4tQ79RpA-cg@mail.gmail.com> |
Hi Krzysztof, Thanks for the review. > On Tue, Jul 28, 2026 at 12:07:09AM -0300, Luiz Angelo Daros de Luca wrote: > > The Analog Devices ADT7470 is a multichannel temperature sensor and > > PWM fan controller. It supports monitoring up to 10 external > > temperature sensors and controlling up to 4 fans. > > > > Add the device tree binding documentation for it. This includes > > support for the thermal framework by defining the "#thermal-sensor-cells" > > property, and models the fan control lines as PWM channels by > > defining the "#pwm-cells" property. > > > > Signed-off-by: Luiz Angelo Daros de Luca <[email protected]> > > --- > > .../devicetree/bindings/hwmon/adi,adt7470.yaml | 55 ++++++++++++++++++++++ > > 1 file changed, 55 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml b/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml > > new file mode 100644 > > index 000000000000..bb2375a4a490 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml > > @@ -0,0 +1,55 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/hwmon/adi,adt7470.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Analog Devices ADT7470 hwmon sensor > > + > > +maintainers: > > + - Luiz Angelo Daros de Luca <[email protected]> > > + > > +description: > > + Multi-channel temperature monitor and PWM fan controller. > > + It supports monitoring up to 10 external temperature sensors and > > + controlling up to four fans. The fan control lines are modeled > > + as standard PWM channels. > > + > > +properties: > > + compatible: > > + const: adi,adt7470 > > + > > + reg: > > + maxItems: 1 > > + > > + "#pwm-cells": > > + const: 3 > > + description: > > + See Documentation/devicetree/bindings/pwm/pwm.yaml for the > > + generic PWM binding description. > > Drop description. > > You OTOH, miss ref to pwm schema. Referencing here in description should > raise you questions... And then use unevaluatedProperties. I will drop the description and change to `unevaluatedProperties: false`. Regarding the reference to the PWM schema, adding `$ref: /schemas/pwm/pwm.yaml#` enforces the `$nodename` to match `^pwm(@.*|-([0-9a-f]+))?$`. Since the ADT7470 is primarily a hardware monitor, its node is typically named `sensor@...`, `fan-controller@...` or `hwmon@...`. Importing `pwm.yaml` causes `dtbs_check` to fail on existing node names because of this mismatch. Since we cannot override the `$nodename` from an imported schema, what is the preferred approach here? Should I skip the `$ref` to `pwm.yaml` in this specific case, or is there an accepted workaround for sensors acting as PWM providers? > You most likely miss ref to thermal-sensor.yaml as well, but that would > change the ABI since hwmon would fail on missing cells, right? Yes, you are right. It would require #thermal-sensor-cells and the device might not have a thermal sensor connected if it is used as a pure fan controller. Likewise, it can also be used as a simple analog-to-digital temperature adapter, with no fans connected (and "#pwm-cells" might be missing). To address this without breaking the ABI, we could add the ref conditionally if "#thermal-sensor-cells" is present. allOf: - if: required: - "#thermal-sensor-cells" then: $ref: /schemas/thermal/thermal-sensor.yaml# I just don't know if it is ok to ref thermal-sensor but not pwm. > > + > > + "#thermal-sensor-cells": > > + const: 1 > > + description: > > + Number of cells required to uniquely identify the temperature sensors. > > Drop sentence, you never need to explain standard properties. It only > adds bloat and more places to fix/change if we do any refactoring. > > > + Valid index values are 0 to 9, corresponding to temp1 through temp10. > > Only this is needed. I'll keep only the sentence regarding the valid index values. I'll send a v4 with the updates mostly because Sashiko-bot failed to merge v3 with dependencies. Regards, Luiz