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

From: Rob Herring
Date: Mon Oct 24 2022 - 13:45:57 EST


On Thu, Oct 13, 2022 at 11:48:36AM +0200, 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
> $ref: fan-common.yaml#
>
> Signed-off-by: Naresh Solanki <Naresh.Solanki@xxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/hwmon/fan-common.yaml | 48 +++++++++++++++++++
> 1 file changed, 48 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..224f5013c93f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/fan-common.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/hwmon/fan-common.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Common fan properties
> +
> +maintainers:
> + - Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>
> +
> +properties:
> + max-rpm:
> + description:
> + Max RPM supported by fan.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + pulses-per-revolution:
> + description:
> + The number of pulse from fan sensor per revolution.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + default-rpm:
> + description:
> + Target RPM the fan should be configured during driver probe.

So if we unload and reload the driver module, it should go back to the
default?

I think it is really, 'target RPM if not already configured' which could
be keep the setting from a register (e.g. what the bootloader set) or
perhaps you already have temperature information to use...

> + $ref: /schemas/types.yaml#/definitions/uint32

> + pwm-frequency:
> + description:
> + PWM frequency for fan in Hertz(Hz).
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + pwm-polarity-inverse:
> + description:
> + Inverse PWM polarity for fan.
> + type: boolean

As I said before, the PWM binding handles these 2 settings. Use it. Yes,
it's a bit of an overkill when the child is the consumer of the parent.
Until some 'clever' h/w engineer decides to use one of the PWMs for
something else like a backlight.

Rob