2022-04-29 13:39:01

by Sebastian Ene

[permalink] [raw]
Subject: [PATCH v4 1/2] dt-bindings: vm-wdt: Add qemu,vm-watchdog compatible

The stall detection mechanism allows to configure the expiration
duration and the internal counter clock frequency measured in Hz.
Add these properties in the schema.

Signed-off-by: Sebastian Ene <[email protected]>
---
.../devicetree/bindings/misc/vm-watchdog.yaml | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/devicetree/bindings/misc/vm-watchdog.yaml

diff --git a/Documentation/devicetree/bindings/misc/vm-watchdog.yaml b/Documentation/devicetree/bindings/misc/vm-watchdog.yaml
new file mode 100644
index 000000000000..d7cca23357ab
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/vm-watchdog.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/vm-watchdog.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VM watchdog
+
+description: |
+ This binding describes a CPU stall detector mechanism for virtual cpus
+ which is accessed through MMIO.
+
+maintainers:
+ - Sebastian Ene <[email protected]>
+
+properties:
+ compatible:
+ enum:
+ - qemu,vm-watchdog
+ clock-frequency:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ The watchdog internal clock measure in Hz used to decrement the
+ watchdog counter register on each tick.
+ Defaults to 10 if unset.
+ timeout-sec:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ The watchdog expiration timeout measured in seconds.
+ Defaults to 8 if unset.
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ watchdog {
+ compatible = "qemu,vm-watchdog";
+ clock-frequency = <10>;
+ timeout-sec = <8>;
+ };
+
+...
--
2.36.0.464.gb9c8b46e94-goog


2022-05-02 23:54:51

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] dt-bindings: vm-wdt: Add qemu,vm-watchdog compatible

On Fri, 29 Apr 2022 08:30:31 +0000, Sebastian Ene wrote:
> The stall detection mechanism allows to configure the expiration
> duration and the internal counter clock frequency measured in Hz.
> Add these properties in the schema.
>
> Signed-off-by: Sebastian Ene <[email protected]>
> ---
> .../devicetree/bindings/misc/vm-watchdog.yaml | 45 +++++++++++++++++++
> 1 file changed, 45 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/misc/vm-watchdog.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/vm-watchdog.yaml: properties:timeout-sec: '$ref' should not be valid under {'const': '$ref'}
hint: Standard unit suffix properties don't need a type $ref
from schema $id: http://devicetree.org/meta-schemas/core.yaml#
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/vm-watchdog.yaml: ignoring, error in schema: properties: timeout-sec
Documentation/devicetree/bindings/misc/vm-watchdog.example.dtb:0:0: /example-0/watchdog: failed to match any schema with compatible: ['qemu,vm-watchdog']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.

2022-05-07 12:56:44

by Sebastian Ene

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] dt-bindings: vm-wdt: Add qemu,vm-watchdog compatible

On Fri, Apr 29, 2022 at 08:30:31AM +0000, Sebastian Ene wrote:
> The stall detection mechanism allows to configure the expiration
> duration and the internal counter clock frequency measured in Hz.
> Add these properties in the schema.
>
> Signed-off-by: Sebastian Ene <[email protected]>
> ---
> .../devicetree/bindings/misc/vm-watchdog.yaml | 45 +++++++++++++++++++
> 1 file changed, 45 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/misc/vm-watchdog.yaml
>
> diff --git a/Documentation/devicetree/bindings/misc/vm-watchdog.yaml b/Documentation/devicetree/bindings/misc/vm-watchdog.yaml
> new file mode 100644
> index 000000000000..d7cca23357ab
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/vm-watchdog.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/misc/vm-watchdog.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: VM watchdog
> +
> +description: |
> + This binding describes a CPU stall detector mechanism for virtual cpus
> + which is accessed through MMIO.
> +
> +maintainers:
> + - Sebastian Ene <[email protected]>
> +
> +properties:
> + compatible:
> + enum:
> + - qemu,vm-watchdog
> + clock-frequency:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + The watchdog internal clock measure in Hz used to decrement the
> + watchdog counter register on each tick.
> + Defaults to 10 if unset.
> + timeout-sec:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + The watchdog expiration timeout measured in seconds.
> + Defaults to 8 if unset.
> +
> +required:
> + - compatible
> +
> +additionalProperties: false

Hi,

> +
> +examples:
> + - |
> + watchdog {
> + compatible = "qemu,vm-watchdog";
> + clock-frequency = <10>;
> + timeout-sec = <8>;
> + };
> +
> +...
> --
> 2.36.0.464.gb9c8b46e94-goog
>

I was thinking to move the properties clock-frequency and timeout-sec as
part of the emulated watchdog registers and keep only the registers
property in the DT.

Thanks,
Seb