On Thu, Jun 17, 2021 at 10:06 AM Suman Anna s-anna@ti.com wrote:
Hi Rob,
On 6/15/21 2:15 PM, Rob Herring wrote:
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: Jens Axboe axboe@kernel.dk Cc: Stephen Boyd sboyd@kernel.org Cc: Herbert Xu herbert@gondor.apana.org.au Cc: "David S. Miller" davem@davemloft.net Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: Vinod Koul vkoul@kernel.org Cc: Bartosz Golaszewski bgolaszewski@baylibre.com Cc: Kamal Dasu kdasu.kdev@gmail.com Cc: Jonathan Cameron jic23@kernel.org Cc: Lars-Peter Clausen lars@metafoo.de Cc: Thomas Gleixner tglx@linutronix.de Cc: Marc Zyngier maz@kernel.org Cc: Joerg Roedel joro@8bytes.org Cc: Jassi Brar jassisinghbrar@gmail.com Cc: Mauro Carvalho Chehab mchehab@kernel.org Cc: Krzysztof Kozlowski krzysztof.kozlowski@canonical.com Cc: Ulf Hansson ulf.hansson@linaro.org Cc: Jakub Kicinski kuba@kernel.org Cc: Wolfgang Grandegger wg@grandegger.com Cc: Marc Kleine-Budde mkl@pengutronix.de Cc: Andrew Lunn andrew@lunn.ch Cc: Vivien Didelot vivien.didelot@gmail.com Cc: Vladimir Oltean olteanv@gmail.com Cc: Bjorn Helgaas bhelgaas@google.com Cc: Kishon Vijay Abraham I kishon@ti.com Cc: Linus Walleij linus.walleij@linaro.org Cc: "Uwe Kleine-König" u.kleine-koenig@pengutronix.de Cc: Lee Jones lee.jones@linaro.org Cc: Ohad Ben-Cohen ohad@wizery.com Cc: Mathieu Poirier mathieu.poirier@linaro.org Cc: Philipp Zabel p.zabel@pengutronix.de Cc: Paul Walmsley paul.walmsley@sifive.com Cc: Palmer Dabbelt palmer@dabbelt.com Cc: Albert Ou aou@eecs.berkeley.edu Cc: Alessandro Zummo a.zummo@towertech.it Cc: Alexandre Belloni alexandre.belloni@bootlin.com Cc: Greg Kroah-Hartman gregkh@linuxfoundation.org Cc: Mark Brown broonie@kernel.org Cc: Zhang Rui rui.zhang@intel.com Cc: Daniel Lezcano daniel.lezcano@linaro.org Cc: Wim Van Sebroeck wim@linux-watchdog.org Cc: Guenter Roeck linux@roeck-us.net Signed-off-by: Rob Herring robh@kernel.org
.../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 1 - .../devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml | 2 -- .../devicetree/bindings/clock/qcom,gcc-apq8064.yaml | 1 - Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml | 2 -- .../devicetree/bindings/clock/qcom,gcc-sm8350.yaml | 2 -- .../devicetree/bindings/clock/sprd,sc9863a-clk.yaml | 1 - .../devicetree/bindings/crypto/allwinner,sun8i-ce.yaml | 2 -- Documentation/devicetree/bindings/crypto/fsl-dcp.yaml | 1 - .../display/allwinner,sun4i-a10-display-backend.yaml | 6 ------ .../bindings/display/allwinner,sun6i-a31-mipi-dsi.yaml | 1 - .../bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml | 4 ---- .../bindings/display/allwinner,sun8i-a83t-hdmi-phy.yaml | 2 -- .../bindings/display/allwinner,sun8i-r40-tcon-top.yaml | 2 -- .../devicetree/bindings/display/bridge/cdns,mhdp8546.yaml | 2 -- .../bindings/display/rockchip/rockchip,dw-hdmi.yaml | 2 -- Documentation/devicetree/bindings/display/st,stm32-dsi.yaml | 2 -- .../devicetree/bindings/display/st,stm32-ltdc.yaml | 1 - .../devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml | 4 ---- .../devicetree/bindings/dma/renesas,rcar-dmac.yaml | 1 - .../devicetree/bindings/edac/amazon,al-mc-edac.yaml | 2 -- Documentation/devicetree/bindings/eeprom/at24.yaml | 1 - Documentation/devicetree/bindings/example-schema.yaml | 2 -- Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml | 1 - Documentation/devicetree/bindings/gpu/vivante,gc.yaml | 1 - Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml | 1 - .../devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml | 2 -- .../devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml | 1 - .../devicetree/bindings/iio/adc/amlogic,meson-saradc.yaml | 1 - .../devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml | 2 -- .../bindings/interrupt-controller/fsl,irqsteer.yaml | 1 - .../bindings/interrupt-controller/loongson,liointc.yaml | 1 - Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml | 1 - .../devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml | 1 - .../devicetree/bindings/mailbox/st,stm32-ipcc.yaml | 2 -- .../devicetree/bindings/media/amlogic,gx-vdec.yaml | 1 - Documentation/devicetree/bindings/media/i2c/adv7604.yaml | 1 - .../devicetree/bindings/media/marvell,mmp2-ccic.yaml | 1 - .../devicetree/bindings/media/qcom,sc7180-venus.yaml | 1 - .../devicetree/bindings/media/qcom,sdm845-venus-v2.yaml | 1 - .../devicetree/bindings/media/qcom,sm8250-venus.yaml | 1 - Documentation/devicetree/bindings/media/renesas,drif.yaml | 1 - .../bindings/memory-controllers/mediatek,smi-common.yaml | 6 ++---- .../bindings/memory-controllers/mediatek,smi-larb.yaml | 1 - .../devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 2 -- Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml | 1 - Documentation/devicetree/bindings/mmc/mtk-sd.yaml | 2 -- Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml | 2 -- Documentation/devicetree/bindings/mmc/sdhci-am654.yaml | 1 - Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml | 1 - .../devicetree/bindings/net/amlogic,meson-dwmac.yaml | 2 -- .../devicetree/bindings/net/brcm,bcm4908-enet.yaml | 2 -- Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 2 -- Documentation/devicetree/bindings/net/dsa/brcm,sf2.yaml | 2 -- Documentation/devicetree/bindings/net/snps,dwmac.yaml | 2 -- Documentation/devicetree/bindings/net/stm32-dwmac.yaml | 1 - Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml | 2 -- Documentation/devicetree/bindings/pci/loongson.yaml | 1 - .../devicetree/bindings/pci/mediatek-pcie-gen3.yaml | 1 - .../devicetree/bindings/pci/microchip,pcie-host.yaml | 2 -- Documentation/devicetree/bindings/perf/arm,cmn.yaml | 1 - .../devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml | 1 - .../devicetree/bindings/phy/brcm,brcmstb-usb-phy.yaml | 3 --- Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml | 1 - Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 2 -- .../devicetree/bindings/phy/phy-cadence-sierra.yaml | 2 -- .../devicetree/bindings/phy/phy-cadence-torrent.yaml | 4 ---- .../devicetree/bindings/phy/qcom,ipq806x-usb-phy-hs.yaml | 1 - .../devicetree/bindings/phy/qcom,ipq806x-usb-phy-ss.yaml | 1 - Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml | 1 - Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml | 2 -- Documentation/devicetree/bindings/phy/renesas,usb2-phy.yaml | 2 -- Documentation/devicetree/bindings/phy/renesas,usb3-phy.yaml | 1 - .../devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml | 1 - .../devicetree/bindings/power/amlogic,meson-ee-pwrc.yaml | 1 - .../devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml | 1 - .../devicetree/bindings/remoteproc/st,stm32-rproc.yaml | 2 -- .../devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml | 1 - .../devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml | 1 - Documentation/devicetree/bindings/reset/fsl,imx-src.yaml | 1 - .../devicetree/bindings/riscv/sifive-l2-cache.yaml | 1 - .../devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 1 - Documentation/devicetree/bindings/rtc/imxdi-rtc.yaml | 1 - Documentation/devicetree/bindings/serial/fsl-lpuart.yaml | 2 -- Documentation/devicetree/bindings/serial/samsung_uart.yaml | 1 - .../devicetree/bindings/soc/qcom/qcom,geni-se.yaml | 1 - Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml | 2 -- .../bindings/sound/nvidia,tegra-audio-graph-card.yaml | 1 - .../devicetree/bindings/sound/nvidia,tegra210-i2s.yaml | 2 -- Documentation/devicetree/bindings/sound/st,stm32-sai.yaml | 3 --- .../devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml | 1 - .../devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml | 2 -- .../bindings/thermal/allwinner,sun8i-a83t-ths.yaml | 2 -- Documentation/devicetree/bindings/thermal/qcom-tsens.yaml | 1 - .../bindings/timer/allwinner,sun5i-a13-hstimer.yaml | 1 - Documentation/devicetree/bindings/timer/arm,arch_timer.yaml | 1 - .../devicetree/bindings/timer/arm,arch_timer_mmio.yaml | 2 -- .../devicetree/bindings/timer/intel,ixp4xx-timer.yaml | 1 - .../devicetree/bindings/usb/maxim,max3420-udc.yaml | 2 -- .../devicetree/bindings/usb/nvidia,tegra-xudc.yaml | 4 ---- Documentation/devicetree/bindings/usb/renesas,usbhs.yaml | 3 --- .../devicetree/bindings/watchdog/st,stm32-iwdg.yaml | 1 - 101 files changed, 2 insertions(+), 163 deletions(-)
[snip]
diff --git a/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml index 6070456a7b67..f399743b631b 100644 --- a/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml @@ -57,7 +57,6 @@ properties:
memory-region: minItems: 2
- maxItems: 8 description: | phandle to the reserved memory nodes to be associated with the remoteproc device. There should be at least two reserved memory nodes defined. The
Does this enforce the maxItems to be 2 only now? Or should this be dropping the minItems here which matches the length of items instead of maxItems?
I have originally listed the individual item list only for the mandatory items and rest are scalable. I provided this through "additionalItems: true" under this property.
Good catch. This should be dropped. The meta-schema doesn't enforce this if "additionalItems: true" which is rarely used.
Also, have the exact same usage in Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml as well which is not included in this patch.
Yeah, I just missed this one. I've double checked and there aren't any more.
Rob