Re: [PATCH v10 1/2] dt-bindings: edac: dmc-520.yaml

From: Rob Herring
Date: Thu Jan 23 2020 - 08:44:49 EST


On Wed, Jan 22, 2020 at 6:31 PM Shiping Ji <shiping.linux@xxxxxxxxx> wrote:
>
> This is the device tree bindings for new EDAC driver dmc520_edac.c.
>
> From: Lei Wang <leiwang_git@xxxxxxxxxxx>
>
> Signed-off-by: Lei Wang <leiwang_git@xxxxxxxxxxx>
> Signed-off-by: Shiping Ji <shiping.linux@xxxxxxxxx>
> Reviewed-by: James Morse <james.morse@xxxxxxx>
>
> ---
> Changes in v10:
> - Convert to the YAML format for binding description
>
> ---
> .../devicetree/bindings/edac/dmc-520.yaml | 56 +++++++++++++++++++
> 1 file changed, 56 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/edac/dmc-520.yaml
>
> diff --git a/Documentation/devicetree/bindings/edac/dmc-520.yaml b/Documentation/devicetree/bindings/edac/dmc-520.yaml
> new file mode 100644
> index 000000000000..dd5982b227b2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/edac/dmc-520.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: GPL-2.0

Dual license new bindings please:

(GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/edac/dmc-520.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ARM DMC-520 EDAC bindings
> +
> +maintainers:
> + - Lei Wang <lewan@xxxxxxxxxxxxx>
> +
> +description: |+
> + DMC-520 node is defined to describe DRAM error detection and correction.
> +
> + https://static.docs.arm.com/100000/0200/corelink_dmc520_trm_100000_0200_01_en.pdf
> +
> +properties:
> + compatible:
> + items:
> + - const: brcm,dmc-520
> + - const: arm,dmc-520
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + minItems: 1
> +
> + interrupt-names:
> + minItems: 1
> + items:
> + - const: ram_ecc_errc
> + - const: ram_ecc_errd
> + - const: dram_ecc_errc
> + - const: dram_ecc_errd
> + - const: failed_access
> + - const: failed_prog
> + - const: link_err
> + - const: temperature_event
> + - const: arch_fsm
> + - const: phy_request

This defines not just the names, but the index they must be at which I
don't think you want.

minItems: 1
maxItems: 10
items:
enum:
- ram_ecc_errc
- ram_ecc_errd
...

Note the lack of '-' under 'items' making it a schema that applies to all items.

Run 'make dt_binding_check' as that would have caught this issue on the example.

Rob