Re: [PATCH] dt-bindings: More dropping redundant minItems/maxItems

From: Alexandre Belloni
Date: Wed Jul 14 2021 - 08:44:24 EST


On 13/07/2021 13:34:53-0600, Rob Herring wrote:
> Another round of removing redundant minItems/maxItems from new schema in
> the recent merge window.
>
> If a property has an 'items' list, then a 'minItems' or 'maxItems' with the
> same size as the list is redundant and can be dropped. Note that is DT
> schema specific behavior and not standard json-schema behavior. The tooling
> will fixup the final schema adding any unspecified minItems/maxItems.
>
> This condition is partially checked with the meta-schema already, but
> only if both 'minItems' and 'maxItems' are equal to the 'items' length.
> An improved meta-schema is pending.
>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxx>
> Cc: Joerg Roedel <joro@xxxxxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> Cc: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
> Cc: Richard Weinberger <richard@xxxxxx>
> Cc: Vignesh Raghavendra <vigneshr@xxxxxx>
> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Sureshkumar Relli <naga.sureshkumar.relli@xxxxxxxxxx>
> Cc: Brian Norris <computersforpeace@xxxxxxxxx>
> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Cc: Sebastian Siewior <bigeasy@xxxxxxxxxxxxx>
> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Cc: linux-clk@xxxxxxxxxxxxxxx
> Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
> Cc: linux-rtc@xxxxxxxxxxxxxxx
> Cc: linux-usb@xxxxxxxxxxxxxxx
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>

> ---
> .../devicetree/bindings/clock/brcm,iproc-clocks.yaml | 1 -
> .../devicetree/bindings/iommu/rockchip,iommu.yaml | 2 --
> .../bindings/memory-controllers/arm,pl353-smc.yaml | 1 -
> Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml | 8 --------
> .../devicetree/bindings/rtc/faraday,ftrtc010.yaml | 1 -
> Documentation/devicetree/bindings/usb/nxp,isp1760.yaml | 2 --
> 6 files changed, 15 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/clock/brcm,iproc-clocks.yaml b/Documentation/devicetree/bindings/clock/brcm,iproc-clocks.yaml
> index 8dc7b404ee12..1174c9aa9934 100644
> --- a/Documentation/devicetree/bindings/clock/brcm,iproc-clocks.yaml
> +++ b/Documentation/devicetree/bindings/clock/brcm,iproc-clocks.yaml
> @@ -50,7 +50,6 @@ properties:
>
> reg:
> minItems: 1
> - maxItems: 3
> items:
> - description: base register
> - description: power register
> diff --git a/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml b/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> index d2e28a9e3545..ba9124f721f1 100644
> --- a/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> +++ b/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> @@ -28,14 +28,12 @@ properties:
> - description: configuration registers for MMU instance 0
> - description: configuration registers for MMU instance 1
> minItems: 1
> - maxItems: 2
>
> interrupts:
> items:
> - description: interruption for MMU instance 0
> - description: interruption for MMU instance 1
> minItems: 1
> - maxItems: 2
>
> clocks:
> items:
> diff --git a/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
> index 7a63c85ef8c5..01c9acf9275d 100644
> --- a/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
> +++ b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
> @@ -57,7 +57,6 @@ properties:
>
> ranges:
> minItems: 1
> - maxItems: 3
> description: |
> Memory bus areas for interacting with the devices. Reflects
> the memory layout with four integer values following:
> diff --git a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> index e5f1a33332a5..dd5a64969e37 100644
> --- a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> +++ b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> @@ -84,7 +84,6 @@ properties:
>
> interrupts:
> minItems: 1
> - maxItems: 3
> items:
> - description: NAND CTLRDY interrupt
> - description: FLASH_DMA_DONE if flash DMA is available
> @@ -92,7 +91,6 @@ properties:
>
> interrupt-names:
> minItems: 1
> - maxItems: 3
> items:
> - const: nand_ctlrdy
> - const: flash_dma_done
> @@ -148,8 +146,6 @@ allOf:
> then:
> properties:
> reg-names:
> - minItems: 2
> - maxItems: 2
> items:
> - const: nand
> - const: nand-int-base
> @@ -161,8 +157,6 @@ allOf:
> then:
> properties:
> reg-names:
> - minItems: 3
> - maxItems: 3
> items:
> - const: nand
> - const: nand-int-base
> @@ -175,8 +169,6 @@ allOf:
> then:
> properties:
> reg-names:
> - minItems: 3
> - maxItems: 3
> items:
> - const: nand
> - const: iproc-idm
> diff --git a/Documentation/devicetree/bindings/rtc/faraday,ftrtc010.yaml b/Documentation/devicetree/bindings/rtc/faraday,ftrtc010.yaml
> index 657c13b62b67..056d42daae06 100644
> --- a/Documentation/devicetree/bindings/rtc/faraday,ftrtc010.yaml
> +++ b/Documentation/devicetree/bindings/rtc/faraday,ftrtc010.yaml
> @@ -30,7 +30,6 @@ properties:
> maxItems: 1
>
> clocks:
> - minItems: 2
> items:
> - description: PCLK clocks
> - description: EXTCLK clocks. Faraday calls it CLK1HZ and says the clock
> diff --git a/Documentation/devicetree/bindings/usb/nxp,isp1760.yaml b/Documentation/devicetree/bindings/usb/nxp,isp1760.yaml
> index a88f99adfe8e..f238848ad094 100644
> --- a/Documentation/devicetree/bindings/usb/nxp,isp1760.yaml
> +++ b/Documentation/devicetree/bindings/usb/nxp,isp1760.yaml
> @@ -25,14 +25,12 @@ properties:
>
> interrupts:
> minItems: 1
> - maxItems: 2
> items:
> - description: Host controller interrupt
> - description: Device controller interrupt in isp1761
>
> interrupt-names:
> minItems: 1
> - maxItems: 2
> items:
> - const: host
> - const: peripheral
> --
> 2.27.0
>

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com