Re: [PATCH v2 1/3] dt-bindings: hwmon: fan: Add fan binding to schema

From: Krzysztof Kozlowski
Date: Tue Oct 11 2022 - 12:27:21 EST


On 11/10/2022 06:47, Naresh Solanki wrote:
> Add common fan properties bindings to a schema.
>
> Bindings for fan controllers can reference the common schema for the
> fan
>
> child nodes:
>
> patternProperties:
> "^fan@[0-2]":
> type: object
> allOf:
> - $ref: fan-common.yaml#
>
> Signed-off-by: Naresh Solanki <Naresh.Solanki@xxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/hwmon/fan-common.yaml | 80 +++++++++++++++++++
> 1 file changed, 80 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/hwmon/fan-common.yaml
>
> diff --git a/Documentation/devicetree/bindings/hwmon/fan-common.yaml b/Documentation/devicetree/bindings/hwmon/fan-common.yaml
> new file mode 100644
> index 000000000000..abc8375da646
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/fan-common.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/hwmon/fan-common.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Common fan properties

Is a fan a hardware monitoring device? Maybe this should not be called a
fan?

> +
> +maintainers:
> + - Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>
> +
> +properties:
> + max-rpm:
> + description:
> + Max RPM supported by fan
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + pulse-per-revolution:
> + description:
> + The number of pulse from fan sensor per revolution.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + target-rpm:
> + description:
> + Target RPM the fan should be configured during driver probe.

I think target depends on conditions, e.g. it is rarely one target.

> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + pwm-frequency:
> + description:
> + PWM frequency for fan.
> + $ref: /schemas/types.yaml#/definitions/uint32

Use common units, so -hz

However I wonder if frequency is appropriate here - I thought PWMs are
rather configured via duty cycles.

> +
> + pwm-polarity-inverse:
> + description:
> + PWM polarity for fan.

Rather: Inversed PWM polarity for the fan.

> + type: boolean
> +
> + label:
> + description:
> + Optional fan label
> + $ref: /schemas/types.yaml#/definitions/string

Ref is not needed, core brings it.

> +
> +additionalProperties: true
> +
> +examples:
> + - |
> +
> +

Drop unneeded empty lines.

> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + fan-controller@30 {
> + compatible = "maxim,max6639";
> + reg = <0x30>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + fan@0 {
> + reg = <0>;
> + label = "CPU0_Fan";
> + max-rpm = <32000>;
> + pulse-per-revolution = <2>;
> + target-rpm = <2000>;
> + pwm-frequency = <25000>;
> + };
> +
> + fan@1 {
> + reg = <1>;
> + label = "PCIe0_Fan";
> + max-rpm = <32000>;
> + pulse-per-revolution = <2>;
> + target-rpm = <2000>;
> + pwm-frequency = <25000>;
> + };
> +

Drop unneeded empty lines.

> + };
> + };
> +
> +...
>
> base-commit: 0cf46a653bdae56683fece68dc50340f7520e6c4

Best regards,
Krzysztof