[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250401074345.GA8188@francesco-nb>
Date: Tue, 1 Apr 2025 09:43:45 +0200
From: Francesco Dolcini <francesco@...cini.it>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Francesco Dolcini <francesco@...cini.it>,
Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Farouk Bouabid <farouk.bouabid@...rry.de>,
Quentin Schulz <quentin.schulz@...rry.de>,
Francesco Dolcini <francesco.dolcini@...adex.com>,
linux-hwmon@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 1/2] dt-bindings: hwmon: amc6821: add fan and PWM
output
On Tue, Apr 01, 2025 at 08:13:14AM +0200, Krzysztof Kozlowski wrote:
> On Mon, Mar 31, 2025 at 05:52:28PM +0200, Francesco Dolcini wrote:
> > From: Francesco Dolcini <francesco.dolcini@...adex.com>
> >
> > Add properties to describe the fan and the PWM controller output.
> >
> > Link: https://www.ti.com/lit/gpn/amc6821
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@...adex.com>
> > ---
> > v3:
> > - explicitly describe the fan, use standard PWM and FAN bindings
> > - pwm.yaml cannot be referenced, because of the $nodename pattern that is
> > enforced there
> > v2: https://lore.kernel.org/all/20250224180801.128685-2-francesco@dolcini.it/
> > - no changes
> > v1: https://lore.kernel.org/all/20250218165633.106867-2-francesco@dolcini.it/
> > ---
> > .../devicetree/bindings/hwmon/ti,amc6821.yaml | 14 +++++++++++++-
> > 1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml b/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
> > index 5d33f1a23d03..94aca9c378e6 100644
> > --- a/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
> > +++ b/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
> > @@ -28,6 +28,13 @@ properties:
> > i2c-mux:
> > type: object
> >
> > + fan:
> > + $ref: fan-common.yaml#
> > + unevaluatedProperties: false
>
> Why do you need the child, instead of referencing fan-common in the top
> level?
Two small reasons.
First is that the amc6821 is a fan controller, and the fan is just
connected to it. So having the fan as a child seemed the right way to
describe it, and this is done like that in other hwmon binding.
.. but now that you asked I tried to move the fan-common to the top
level and it's not working.
I added
allOf:
- $ref: fan-common.yaml#
at top level, removed the fan child, and moved the pwms up one level in
the example
i2c {
#address-cells = <1>;
#size-cells = <0>;
fan_controller: fan@18 {
compatible = "ti,amc6821";
reg = <0x18>;
#pwm-cells = <2>;
pwms = <&fan_controller 40000 0>;
};
};
and the binding checker is not fine with it
$ make dt_binding_check DT_SCHEMA_FILES=ti,amc6821.yaml
SCHEMA Documentation/devicetree/bindings/processed-schema.json
CHKDT ./Documentation/devicetree/bindings
LINT ./Documentation/devicetree/bindings
DTEX Documentation/devicetree/bindings/hwmon/ti,amc6821.example.dts
DTC [C] Documentation/devicetree/bindings/hwmon/ti,amc6821.example.dtb
/home/francesco/Toradex/sources/linux/Documentation/devicetree/bindings/hwmon/ti,amc6821.example.dtb: fan@18: 'pwms' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/hwmon/ti,amc6821.yaml#
Any suggestion?
Francesco
Powered by blists - more mailing lists