lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220504220909.253d5efa@jic23-huawei>
Date:   Wed, 4 May 2022 22:09:09 +0100
From:   Jonathan Cameron <jic23@...nel.org>
To:     Rob Herring <robh@...nel.org>
Cc:     devicetree@...r.kernel.org,
        Krzysztof Kozlowski <krzk+dt@...nel.org>,
        Abel Vesa <abel.vesa@....com>, Stephen Boyd <sboyd@...nel.org>,
        Laurent Pinchart <laurent.pinchart@...asonboard.com>,
        Kieran Bingham <kieran.bingham+renesas@...asonboard.com>,
        Lars-Peter Clausen <lars@...afoo.de>,
        Ulf Hansson <ulf.hansson@...aro.org>,
        Thierry Reding <thierry.reding@...il.com>,
        Jonathan Hunter <jonathanh@...dia.com>,
        Miquel Raynal <miquel.raynal@...tlin.com>,
        Richard Weinberger <richard@....at>,
        Vignesh Raghavendra <vigneshr@...com>,
        Wolfgang Grandegger <wg@...ndegger.com>,
        Marc Kleine-Budde <mkl@...gutronix.de>,
        "David S. Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>,
        Kishon Vijay Abraham I <kishon@...com>,
        Vinod Koul <vkoul@...nel.org>,
        Alessandro Zummo <a.zummo@...ertech.it>,
        Alexandre Belloni <alexandre.belloni@...tlin.com>,
        Chen-Yu Tsai <wens@...e.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Mark Brown <broonie@...nel.org>,
        "Rafael J. Wysocki" <rafael@...nel.org>,
        Daniel Lezcano <daniel.lezcano@...aro.org>,
        Zhang Rui <rui.zhang@...el.com>,
        Niklas Söderlund 
        <niklas.soderlund@...natech.se>, Anson Huang <Anson.Huang@....com>,
        Fabrice Gasnier <fabrice.gasnier@...s.st.com>,
        Han Xu <han.xu@....com>, Dario Binacchi <dariobin@...ero.it>,
        Florian Fainelli <f.fainelli@...il.com>,
        Maxime Ripard <mripard@...nel.org>,
        Peter Ujfalusi <peter.ujfalusi@...com>,
        linux-clk@...r.kernel.org, dri-devel@...ts.freedesktop.org,
        linux-iio@...r.kernel.org, linux-mmc@...r.kernel.org,
        linux-mtd@...ts.infradead.org, linux-can@...r.kernel.org,
        netdev@...r.kernel.org, linux-phy@...ts.infradead.org,
        linux-rtc@...r.kernel.org, linux-serial@...r.kernel.org,
        alsa-devel@...a-project.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: Drop redundant 'maxItems/minItems' in
 if/then schemas

On Tue,  3 May 2022 11:27:38 -0500
Rob Herring <robh@...nel.org> wrote:

> Another round of removing redundant minItems/maxItems when 'items' list is
> specified. This time it is in if/then schemas as the meta-schema was
> failing to check this case.
> 
> 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.

Acked-by: Jonathan Cameron <Jonathan.Cameron@...wei.com> #for IIO
> 
> Cc: Abel Vesa <abel.vesa@....com>
> Cc: Stephen Boyd <sboyd@...nel.org>
> Cc: Krzysztof Kozlowski <krzk+dt@...nel.org>
> Cc: Laurent Pinchart <laurent.pinchart@...asonboard.com>
> Cc: Kieran Bingham <kieran.bingham+renesas@...asonboard.com>
> Cc: Jonathan Cameron <jic23@...nel.org>
> Cc: Lars-Peter Clausen <lars@...afoo.de>
> Cc: Ulf Hansson <ulf.hansson@...aro.org>
> Cc: Thierry Reding <thierry.reding@...il.com>
> Cc: Jonathan Hunter <jonathanh@...dia.com>
> Cc: Miquel Raynal <miquel.raynal@...tlin.com>
> Cc: Richard Weinberger <richard@....at>
> Cc: Vignesh Raghavendra <vigneshr@...com>
> Cc: Wolfgang Grandegger <wg@...ndegger.com>
> Cc: Marc Kleine-Budde <mkl@...gutronix.de>
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: Jakub Kicinski <kuba@...nel.org>
> Cc: Paolo Abeni <pabeni@...hat.com>
> Cc: Kishon Vijay Abraham I <kishon@...com>
> Cc: Vinod Koul <vkoul@...nel.org>
> Cc: Alessandro Zummo <a.zummo@...ertech.it>
> Cc: Alexandre Belloni <alexandre.belloni@...tlin.com>
> Cc: Chen-Yu Tsai <wens@...e.org>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: Mark Brown <broonie@...nel.org>
> Cc: "Rafael J. Wysocki" <rafael@...nel.org>
> Cc: Daniel Lezcano <daniel.lezcano@...aro.org>
> Cc: Zhang Rui <rui.zhang@...el.com>
> Cc: "Niklas Söderlund" <niklas.soderlund@...natech.se>
> Cc: Anson Huang <Anson.Huang@....com>
> Cc: Fabrice Gasnier <fabrice.gasnier@...s.st.com>
> Cc: Han Xu <han.xu@....com>
> Cc: Dario Binacchi <dariobin@...ero.it>
> Cc: Florian Fainelli <f.fainelli@...il.com>
> Cc: Maxime Ripard <mripard@...nel.org>
> Cc: Peter Ujfalusi <peter.ujfalusi@...com>
> Cc: linux-clk@...r.kernel.org
> Cc: dri-devel@...ts.freedesktop.org
> Cc: linux-iio@...r.kernel.org
> Cc: linux-mmc@...r.kernel.org
> Cc: linux-mtd@...ts.infradead.org
> Cc: linux-can@...r.kernel.org
> Cc: netdev@...r.kernel.org
> Cc: linux-phy@...ts.infradead.org
> Cc: linux-rtc@...r.kernel.org
> Cc: linux-serial@...r.kernel.org
> Cc: alsa-devel@...a-project.org
> Cc: linux-pm@...r.kernel.org
> Signed-off-by: Rob Herring <robh@...nel.org>
> ---
>  .../bindings/clock/imx8m-clock.yaml           |  4 ----
>  .../bindings/display/bridge/renesas,lvds.yaml |  4 ----
>  .../bindings/display/renesas,du.yaml          | 23 -------------------
>  .../bindings/iio/adc/st,stm32-adc.yaml        |  2 --
>  .../bindings/mmc/nvidia,tegra20-sdhci.yaml    |  7 +-----
>  .../devicetree/bindings/mtd/gpmi-nand.yaml    |  2 --
>  .../bindings/net/can/bosch,c_can.yaml         |  3 ---
>  .../bindings/phy/brcm,sata-phy.yaml           | 10 ++++----
>  .../bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 10 --------
>  .../bindings/serial/samsung_uart.yaml         |  4 ----
>  .../sound/allwinner,sun4i-a10-i2s.yaml        |  1 -
>  .../bindings/sound/ti,j721e-cpb-audio.yaml    |  2 --
>  .../bindings/thermal/rcar-gen3-thermal.yaml   |  1 -
>  13 files changed, 5 insertions(+), 68 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> index 625f573a7b90..458c7645ee68 100644
> --- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> @@ -55,8 +55,6 @@ allOf:
>      then:
>        properties:
>          clocks:
> -          minItems: 7
> -          maxItems: 7
>            items:
>              - description: 32k osc
>              - description: 25m osc
> @@ -66,8 +64,6 @@ allOf:
>              - description: ext3 clock input
>              - description: ext4 clock input
>          clock-names:
> -          minItems: 7
> -          maxItems: 7
>            items:
>              - const: ckil
>              - const: osc_25m
> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
> index a51baf8a4c76..bb9dbfb9beaf 100644
> --- a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
> @@ -95,7 +95,6 @@ then:
>    properties:
>      clocks:
>        minItems: 1
> -      maxItems: 4
>        items:
>          - description: Functional clock
>          - description: EXTAL input clock
> @@ -104,7 +103,6 @@ then:
>  
>      clock-names:
>        minItems: 1
> -      maxItems: 4
>        items:
>          - const: fck
>          # The LVDS encoder can use the EXTAL or DU_DOTCLKINx clocks.
> @@ -128,12 +126,10 @@ then:
>  else:
>    properties:
>      clocks:
> -      maxItems: 1
>        items:
>          - description: Functional clock
>  
>      clock-names:
> -      maxItems: 1
>        items:
>          - const: fck
>  
> diff --git a/Documentation/devicetree/bindings/display/renesas,du.yaml b/Documentation/devicetree/bindings/display/renesas,du.yaml
> index 56cedcd6d576..b3e588022082 100644
> --- a/Documentation/devicetree/bindings/display/renesas,du.yaml
> +++ b/Documentation/devicetree/bindings/display/renesas,du.yaml
> @@ -109,7 +109,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 1
> -          maxItems: 3
>            items:
>              - description: Functional clock
>              - description: DU_DOTCLKIN0 input clock
> @@ -117,7 +116,6 @@ allOf:
>  
>          clock-names:
>            minItems: 1
> -          maxItems: 3
>            items:
>              - const: du.0
>              - pattern: '^dclkin\.[01]$'
> @@ -159,7 +157,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -168,7 +165,6 @@ allOf:
>  
>          clock-names:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - const: du.0
>              - const: du.1
> @@ -216,7 +212,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -225,7 +220,6 @@ allOf:
>  
>          clock-names:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - const: du.0
>              - const: du.1
> @@ -271,7 +265,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -280,7 +273,6 @@ allOf:
>  
>          clock-names:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - const: du.0
>              - const: du.1
> @@ -327,7 +319,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -336,7 +327,6 @@ allOf:
>  
>          clock-names:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - const: du.0
>              - const: du.1
> @@ -386,7 +376,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 3
> -          maxItems: 6
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -397,7 +386,6 @@ allOf:
>  
>          clock-names:
>            minItems: 3
> -          maxItems: 6
>            items:
>              - const: du.0
>              - const: du.1
> @@ -448,7 +436,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 4
> -          maxItems: 8
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -461,7 +448,6 @@ allOf:
>  
>          clock-names:
>            minItems: 4
> -          maxItems: 8
>            items:
>              - const: du.0
>              - const: du.1
> @@ -525,7 +511,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 3
> -          maxItems: 6
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -536,7 +521,6 @@ allOf:
>  
>          clock-names:
>            minItems: 3
> -          maxItems: 6
>            items:
>              - const: du.0
>              - const: du.1
> @@ -596,7 +580,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 3
> -          maxItems: 6
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -607,7 +590,6 @@ allOf:
>  
>          clock-names:
>            minItems: 3
> -          maxItems: 6
>            items:
>              - const: du.0
>              - const: du.1
> @@ -666,14 +648,12 @@ allOf:
>        properties:
>          clocks:
>            minItems: 1
> -          maxItems: 2
>            items:
>              - description: Functional clock for DU0
>              - description: DU_DOTCLKIN0 input clock
>  
>          clock-names:
>            minItems: 1
> -          maxItems: 2
>            items:
>              - const: du.0
>              - const: dclkin.0
> @@ -723,7 +703,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - description: Functional clock for DU0
>              - description: Functional clock for DU1
> @@ -732,7 +711,6 @@ allOf:
>  
>          clock-names:
>            minItems: 2
> -          maxItems: 4
>            items:
>              - const: du.0
>              - const: du.1
> @@ -791,7 +769,6 @@ allOf:
>              - description: Functional clock
>  
>          clock-names:
> -          maxItems: 1
>            items:
>              - const: du.0
>  
> diff --git a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml
> index 4d6074518b5c..fa8da42cb1e6 100644
> --- a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml
> @@ -138,7 +138,6 @@ allOf:
>              - const: bus
>              - const: adc
>            minItems: 1
> -          maxItems: 2
>  
>          interrupts:
>            items:
> @@ -170,7 +169,6 @@ allOf:
>              - const: bus
>              - const: adc
>            minItems: 1
> -          maxItems: 2
>  
>          interrupts:
>            items:
> diff --git a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
> index f3f4d5b02744..fe0270207622 100644
> --- a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
> +++ b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
> @@ -202,22 +202,17 @@ allOf:
>          clocks:
>            items:
>              - description: module clock
> -          minItems: 1
> -          maxItems: 1
>      else:
>        properties:
>          clocks:
>            items:
>              - description: module clock
>              - description: timeout clock
> -          minItems: 2
> -          maxItems: 2
> +
>          clock-names:
>            items:
>              - const: sdhci
>              - const: tmclk
> -          minItems: 2
> -          maxItems: 2
>        required:
>          - clock-names
>  
> diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml
> index 9d764e654e1d..849aeae319a9 100644
> --- a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml
> +++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml
> @@ -147,8 +147,6 @@ allOf:
>              - description: SoC gpmi io clock
>              - description: SoC gpmi bch apb clock
>          clock-names:
> -          minItems: 2
> -          maxItems: 2
>            items:
>              - const: gpmi_io
>              - const: gpmi_bch_apb
> diff --git a/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
> index 8bad328b184d..51aa89ac7e85 100644
> --- a/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
> +++ b/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
> @@ -80,8 +80,6 @@ if:
>  then:
>    properties:
>      interrupts:
> -      minItems: 4
> -      maxItems: 4
>        items:
>          - description: Error and status IRQ
>          - description: Message object IRQ
> @@ -91,7 +89,6 @@ then:
>  else:
>    properties:
>      interrupts:
> -      maxItems: 1
>        items:
>          - description: Error and status IRQ
>  
> diff --git a/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml b/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
> index cb1aa325336f..435b971dfd9b 100644
> --- a/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
> @@ -102,19 +102,17 @@ if:
>  then:
>    properties:
>      reg:
> -      maxItems: 2
> +      minItems: 2
> +
>      reg-names:
> -      items:
> -        - const: "phy"
> -        - const: "phy-ctrl"
> +      minItems: 2
>  else:
>    properties:
>      reg:
>        maxItems: 1
> +
>      reg-names:
>        maxItems: 1
> -      items:
> -        - const: "phy"
>  
>  required:
>    - compatible
> diff --git a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
> index 0b767fec39d8..6b38bd7eb3b4 100644
> --- a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
> @@ -71,7 +71,6 @@ allOf:
>      then:
>        properties:
>          clock-output-names:
> -          minItems: 1
>            maxItems: 1
>  
>    - if:
> @@ -102,7 +101,6 @@ allOf:
>        properties:
>          clock-output-names:
>            minItems: 3
> -          maxItems: 3
>  
>    - if:
>        properties:
> @@ -113,16 +111,12 @@ allOf:
>      then:
>        properties:
>          clocks:
> -          minItems: 3
> -          maxItems: 3
>            items:
>              - description: Bus clock for register access
>              - description: 24 MHz oscillator
>              - description: 32 kHz clock from the CCU
>  
>          clock-names:
> -          minItems: 3
> -          maxItems: 3
>            items:
>              - const: bus
>              - const: hosc
> @@ -142,7 +136,6 @@ allOf:
>        properties:
>          clocks:
>            minItems: 3
> -          maxItems: 4
>            items:
>              - description: Bus clock for register access
>              - description: 24 MHz oscillator
> @@ -151,7 +144,6 @@ allOf:
>  
>          clock-names:
>            minItems: 3
> -          maxItems: 4
>            items:
>              - const: bus
>              - const: hosc
> @@ -174,14 +166,12 @@ allOf:
>      then:
>        properties:
>          interrupts:
> -          minItems: 1
>            maxItems: 1
>  
>      else:
>        properties:
>          interrupts:
>            minItems: 2
> -          maxItems: 2
>  
>  required:
>    - "#clock-cells"
> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> index d4688e317fc5..901c1e2cea28 100644
> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> @@ -100,7 +100,6 @@ allOf:
>            maxItems: 3
>          clock-names:
>            minItems: 2
> -          maxItems: 3
>            items:
>              - const: uart
>              - pattern: '^clk_uart_baud[0-1]$'
> @@ -118,11 +117,8 @@ allOf:
>      then:
>        properties:
>          clocks:
> -          minItems: 2
>            maxItems: 2
>          clock-names:
> -          minItems: 2
> -          maxItems: 2
>            items:
>              - const: uart
>              - const: clk_uart_baud0
> diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml
> index c21c807b667c..34f6ee9de392 100644
> --- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml
> +++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml
> @@ -89,7 +89,6 @@ allOf:
>        properties:
>          dmas:
>            minItems: 1
> -          maxItems: 2
>            items:
>              - description: RX DMA Channel
>              - description: TX DMA Channel
> diff --git a/Documentation/devicetree/bindings/sound/ti,j721e-cpb-audio.yaml b/Documentation/devicetree/bindings/sound/ti,j721e-cpb-audio.yaml
> index 6806f53a4aed..20ea5883b7ff 100644
> --- a/Documentation/devicetree/bindings/sound/ti,j721e-cpb-audio.yaml
> +++ b/Documentation/devicetree/bindings/sound/ti,j721e-cpb-audio.yaml
> @@ -80,7 +80,6 @@ allOf:
>      then:
>        properties:
>          clocks:
> -          minItems: 6
>            items:
>              - description: AUXCLK clock for McASP used by CPB audio
>              - description: Parent for CPB_McASP auxclk (for 48KHz)
> @@ -107,7 +106,6 @@ allOf:
>      then:
>        properties:
>          clocks:
> -          maxItems: 4
>            items:
>              - description: AUXCLK clock for McASP used by CPB audio
>              - description: Parent for CPB_McASP auxclk (for 48KHz)
> diff --git a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> index f963204e0b16..1368d90da0e8 100644
> --- a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> +++ b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> @@ -67,7 +67,6 @@ then:
>    properties:
>      reg:
>        minItems: 2
> -      maxItems: 3
>        items:
>          - description: TSC1 registers
>          - description: TSC2 registers

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ