2023-03-28 05:47:16

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH] dt-bindings: input: pwm-beeper: convert to dt schema

From: Peng Fan <[email protected]>

Convert the binding doc to dt schema, and also fixed the
example from fixed-regulator to regulator-fixed.

Signed-off-by: Peng Fan <[email protected]>
---
.../devicetree/bindings/input/pwm-beeper.txt | 24 ----------
.../devicetree/bindings/input/pwm-beeper.yaml | 48 +++++++++++++++++++
2 files changed, 48 insertions(+), 24 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml

diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.txt b/Documentation/devicetree/bindings/input/pwm-beeper.txt
deleted file mode 100644
index 8fc0e48c20db..000000000000
--- a/Documentation/devicetree/bindings/input/pwm-beeper.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-* PWM beeper device tree bindings
-
-Registers a PWM device as beeper.
-
-Required properties:
-- compatible: should be "pwm-beeper"
-- pwms: phandle to the physical PWM device
-
-Optional properties:
-- amp-supply: phandle to a regulator that acts as an amplifier for the beeper
-- beeper-hz: bell frequency in Hz
-
-Example:
-
-beeper_amp: amplifier {
- compatible = "fixed-regulator";
- gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
-};
-
-beeper {
- compatible = "pwm-beeper";
- pwms = <&pwm0>;
- amp-supply = <&beeper_amp>;
-};
diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.yaml b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
new file mode 100644
index 000000000000..1d7cd58d2a8f
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/pwm-beeper.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/input/pwm-beeper.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: PWM beeper
+
+maintainers:
+ - Sascha Hauer <[email protected]>
+
+properties:
+ compatible:
+ items:
+ - const: pwm-beeper
+
+ pwms:
+ description: Phandle to the physical PWM device
+ $ref: /schemas/types.yaml#/definitions/phandle
+
+ amp-supply:
+ description: Phandle to a regulator that acts as an amplifier for the beeper
+
+ beeper-hz:
+ description: bell frequency in Hz
+ minimum: 1
+ maximum: 255
+
+required:
+ - compatible
+ - pwms
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ beeper_amp: amplifier {
+ compatible = "regulator-fixed";
+ gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+ regulator-name = "beeper_amp";
+ };
+
+ beeper {
+ compatible = "pwm-beeper";
+ pwms = <&pwm0>;
+ amp-supply = <&beeper_amp>;
+ };
--
2.37.1


2023-03-28 13:06:06

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: input: pwm-beeper: convert to dt schema


On Tue, 28 Mar 2023 13:48:33 +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Convert the binding doc to dt schema, and also fixed the
> example from fixed-regulator to regulator-fixed.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/input/pwm-beeper.txt | 24 ----------
> .../devicetree/bindings/input/pwm-beeper.yaml | 48 +++++++++++++++++++
> 2 files changed, 48 insertions(+), 24 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
> create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]


beeper: beeper-hz:0:0: 4000 is greater than the maximum of 255
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dtb

beeper: pwms:0: [19, 31, 4000] is too long
arch/arm/boot/dts/armada-370-c200-v2.dtb

beeper: pwms:0: [52, 5, 1000000, 0] is too long
arch/arm/boot/dts/aspeed-bmc-vegman-n110.dtb

beeper: pwms:0: [53, 5, 1000000, 0] is too long
arch/arm/boot/dts/aspeed-bmc-vegman-rx20.dtb
arch/arm/boot/dts/aspeed-bmc-vegman-sx20.dtb

beeper: pwms:0: [72, 0, 250000, 0] is too long
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb

beeper: pwms:0: [91, 0, 250000, 0] is too long
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb

beeper: pwms:0: [98, 0, 250000, 0] is too long
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dtb

beeper: pwms:0: [98, 0, 500000] is too long
arch/arm/boot/dts/imx6q-kp-tpc.dtb

beeper: Unevaluated properties are not allowed ('beeper-hz', 'pwms' were unexpected)
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dtb

beeper: Unevaluated properties are not allowed ('pwms' was unexpected)
arch/arm/boot/dts/armada-370-c200-v2.dtb
arch/arm/boot/dts/aspeed-bmc-vegman-n110.dtb
arch/arm/boot/dts/aspeed-bmc-vegman-rx20.dtb
arch/arm/boot/dts/aspeed-bmc-vegman-sx20.dtb
arch/arm/boot/dts/imx6q-kp-tpc.dtb

beep: pwms:0: [108, 0, 4000000, 1] is too long
arch/arm/boot/dts/exynos4412-itop-elite.dtb

beep: Unevaluated properties are not allowed ('pwms' was unexpected)
arch/arm/boot/dts/exynos4412-itop-elite.dtb

buzzer: pwms:0: [20, 0, 1000000, 0] is too long
arch/arm/boot/dts/s3c6410-mini6410.dtb

buzzer: pwms:0: [41, 0, 500000] is too long
arch/arm/boot/dts/imx53-kp-ddc.dtb

buzzer: pwms:0: [42, 0, 500000] is too long
arch/arm/boot/dts/imx53-kp-hsc.dtb

buzzer: Unevaluated properties are not allowed ('pwms' was unexpected)
arch/arm/boot/dts/imx53-kp-ddc.dtb
arch/arm/boot/dts/imx53-kp-hsc.dtb
arch/arm/boot/dts/s3c6410-mini6410.dtb

pwm-beeper: pwms:0: [56, 0, 5000] is too long
arch/arm/boot/dts/imx6ul-kontron-bl.dtb
arch/arm/boot/dts/imx6ull-kontron-bl.dtb

pwm-beeper: pwms:0: [60, 0, 5000] is too long
arch/arm/boot/dts/imx6ul-kontron-bl-43.dtb

pwm-beeper: pwms:0: [83, 0, 5000, 0] is too long
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dtb

pwm-beeper: pwms:0: [86, 0, 5000, 0] is too long
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl-osm-s.dtb

pwm-beeper: Unevaluated properties are not allowed ('pwms' was unexpected)
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dtb
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl-osm-s.dtb
arch/arm/boot/dts/imx6ul-kontron-bl-43.dtb
arch/arm/boot/dts/imx6ul-kontron-bl.dtb
arch/arm/boot/dts/imx6ull-kontron-bl.dtb

sound: pwms:0: [44, 1, 1000000, 0] is too long
arch/arm/boot/dts/da850-lego-ev3.dtb

sound: Unevaluated properties are not allowed ('pwms' was unexpected)
arch/arm/boot/dts/da850-lego-ev3.dtb

2023-03-28 13:56:18

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: input: pwm-beeper: convert to dt schema

On Tue, Mar 28, 2023 at 12:43 AM Peng Fan (OSS) <[email protected]> wrote:
>
> From: Peng Fan <[email protected]>
>
> Convert the binding doc to dt schema, and also fixed the
> example from fixed-regulator to regulator-fixed.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> .../devicetree/bindings/input/pwm-beeper.txt | 24 ----------
> .../devicetree/bindings/input/pwm-beeper.yaml | 48 +++++++++++++++++++
> 2 files changed, 48 insertions(+), 24 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
> create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.txt b/Documentation/devicetree/bindings/input/pwm-beeper.txt
> deleted file mode 100644
> index 8fc0e48c20db..000000000000
> --- a/Documentation/devicetree/bindings/input/pwm-beeper.txt
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -* PWM beeper device tree bindings
> -
> -Registers a PWM device as beeper.
> -
> -Required properties:
> -- compatible: should be "pwm-beeper"
> -- pwms: phandle to the physical PWM device
> -
> -Optional properties:
> -- amp-supply: phandle to a regulator that acts as an amplifier for the beeper
> -- beeper-hz: bell frequency in Hz
> -
> -Example:
> -
> -beeper_amp: amplifier {
> - compatible = "fixed-regulator";
> - gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
> -};
> -
> -beeper {
> - compatible = "pwm-beeper";
> - pwms = <&pwm0>;
> - amp-supply = <&beeper_amp>;
> -};
> diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.yaml b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> new file mode 100644
> index 000000000000..1d7cd58d2a8f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)

'or-later' is wrong.

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/pwm-beeper.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: PWM beeper
> +
> +maintainers:
> + - Sascha Hauer <[email protected]>
> +
> +properties:
> + compatible:
> + items:

Drop 'items' as there is only 1.

> + - const: pwm-beeper
> +
> + pwms:
> + description: Phandle to the physical PWM device
> + $ref: /schemas/types.yaml#/definitions/phandle

Standard property which already has a type.

> +
> + amp-supply:
> + description: Phandle to a regulator that acts as an amplifier for the beeper
> +
> + beeper-hz:
> + description: bell frequency in Hz
> + minimum: 1
> + maximum: 255

doubtful a beeper can generate frequencies of 1-255Hz...

> +
> +required:
> + - compatible
> + - pwms
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + beeper_amp: amplifier {

Don't need to show providers in examples for the consumer.

> + compatible = "regulator-fixed";
> + gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
> + regulator-name = "beeper_amp";
> + };
> +
> + beeper {
> + compatible = "pwm-beeper";
> + pwms = <&pwm0>;
> + amp-supply = <&beeper_amp>;

Make the example complete and add beeper-hz.

> + };
> --
> 2.37.1
>