Re: [PATCH] dt-bindings: Add missing array size constraints

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/5/21 5:27 PM, Mathieu Poirier wrote:
> Adding Suman and Paul - guys please have a look.
> 
> On Mon, Jan 04, 2021 at 04:02:53PM -0700, Rob Herring wrote:
>> DT properties which can have multiple entries need to specify what the
>> entries are and define how many entries there can be. In the case of
>> only a single entry, just 'maxItems: 1' is sufficient.
>>
>> Add the missing entry constraints. These were found with a modified
>> meta-schema. Unfortunately, there are a few cases where the size
>> constraints are not defined such as common bindings, so the meta-schema
>> can't be part of the normal checks.
>>
>> Cc: Jens Axboe <axboe@xxxxxxxxx>
>> Cc: Stephen Boyd <sboyd@xxxxxxxxxx>
>> Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
>> Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
>> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
>> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
>> Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>> Cc: Jonathan Cameron <jic23@xxxxxxxxxx>
>> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>> Cc: Marc Zyngier <maz@xxxxxxxxxx>
>> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
>> Cc: Chen-Yu Tsai <wens@xxxxxxxx>
>> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
>> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
>> Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
>> Cc: Sebastian Reichel <sre@xxxxxxxxxx>
>> Cc: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
>> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
>> ---
>> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>> Cc: linux-ide@xxxxxxxxxxxxxxx
>> Cc: linux-clk@xxxxxxxxxxxxxxx
>> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
>> Cc: linux-gpio@xxxxxxxxxxxxxxx
>> Cc: linux-iio@xxxxxxxxxxxxxxx
>> Cc: linux-input@xxxxxxxxxxxxxxx
>> Cc: linux-media@xxxxxxxxxxxxxxx
>> Cc: linux-mmc@xxxxxxxxxxxxxxx
>> Cc: netdev@xxxxxxxxxxxxxxx
>> Cc: linux-pm@xxxxxxxxxxxxxxx
>> Cc: linux-remoteproc@xxxxxxxxxxxxxxx
>> Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
>> Cc: linux-serial@xxxxxxxxxxxxxxx
>> Cc: alsa-devel@xxxxxxxxxxxxxxxx
>> Cc: linux-spi@xxxxxxxxxxxxxxx
>> Cc: linux-usb@xxxxxxxxxxxxxxx
>> ---
>>  .../socionext,uniphier-system-cache.yaml      |  4 ++--
>>  .../bindings/ata/sata_highbank.yaml           |  1 +
>>  .../bindings/clock/canaan,k210-clk.yaml       |  1 +
>>  .../bindings/display/brcm,bcm2711-hdmi.yaml   |  1 +
>>  .../bindings/display/brcm,bcm2835-hdmi.yaml   |  1 +
>>  .../display/panel/jdi,lt070me05000.yaml       |  1 +
>>  .../display/panel/mantix,mlaf057we51-x.yaml   |  3 ++-
>>  .../display/panel/novatek,nt36672a.yaml       |  1 +
>>  .../devicetree/bindings/dsp/fsl,dsp.yaml      |  2 +-
>>  .../devicetree/bindings/eeprom/at25.yaml      |  3 +--
>>  .../bindings/extcon/extcon-ptn5150.yaml       |  2 ++
>>  .../bindings/gpio/gpio-pca95xx.yaml           |  1 +
>>  .../bindings/iio/adc/adi,ad7768-1.yaml        |  2 ++
>>  .../bindings/iio/adc/aspeed,ast2400-adc.yaml  |  1 +
>>  .../bindings/iio/adc/lltc,ltc2496.yaml        |  2 +-
>>  .../bindings/iio/adc/qcom,spmi-vadc.yaml      |  1 +
>>  .../bindings/iio/adc/st,stm32-adc.yaml        |  2 ++
>>  .../iio/magnetometer/asahi-kasei,ak8975.yaml  |  1 +
>>  .../iio/potentiometer/adi,ad5272.yaml         |  1 +
>>  .../input/touchscreen/elan,elants_i2c.yaml    |  1 +
>>  .../interrupt-controller/fsl,intmux.yaml      |  2 +-
>>  .../interrupt-controller/st,stm32-exti.yaml   |  2 ++
>>  .../allwinner,sun4i-a10-video-engine.yaml     |  1 +
>>  .../devicetree/bindings/media/i2c/imx219.yaml |  1 +
>>  .../memory-controllers/exynos-srom.yaml       |  2 ++
>>  .../bindings/misc/fsl,dpaa2-console.yaml      |  1 +
>>  .../bindings/mmc/mmc-controller.yaml          |  2 ++
>>  .../bindings/net/ti,k3-am654-cpsw-nuss.yaml   |  1 +
>>  .../bindings/net/ti,k3-am654-cpts.yaml        |  1 +
>>  .../phy/allwinner,sun4i-a10-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun50i-a64-usb-phy.yaml     |  2 ++
>>  .../phy/allwinner,sun50i-h6-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun5i-a13-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun6i-a31-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun8i-a23-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun8i-a83t-usb-phy.yaml     |  2 ++
>>  .../phy/allwinner,sun8i-h3-usb-phy.yaml       |  2 ++
>>  .../phy/allwinner,sun8i-r40-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun8i-v3s-usb-phy.yaml      |  2 ++
>>  .../phy/allwinner,sun9i-a80-usb-phy.yaml      | 19 ++++++++-----------
>>  .../phy/socionext,uniphier-ahci-phy.yaml      |  2 +-
>>  .../phy/socionext,uniphier-pcie-phy.yaml      |  2 +-
>>  .../phy/socionext,uniphier-usb3hs-phy.yaml    |  2 +-
>>  .../phy/socionext,uniphier-usb3ss-phy.yaml    |  2 +-
>>  .../bindings/phy/ti,phy-gmii-sel.yaml         |  2 +-
>>  .../pinctrl/aspeed,ast2400-pinctrl.yaml       |  3 +--
>>  .../pinctrl/aspeed,ast2500-pinctrl.yaml       |  4 ++--
>>  .../bindings/power/supply/bq25980.yaml        |  1 +
>>  .../bindings/remoteproc/ingenic,vpu.yaml      |  2 +-
>>  .../remoteproc/ti,omap-remoteproc.yaml        |  3 +++
>>  .../bindings/riscv/sifive-l2-cache.yaml       |  1 +
>>  .../bindings/serial/renesas,hscif.yaml        |  2 ++
>>  .../bindings/serial/renesas,scif.yaml         |  2 ++
>>  .../bindings/serial/renesas,scifa.yaml        |  2 ++
>>  .../bindings/serial/renesas,scifb.yaml        |  2 ++
>>  .../sound/allwinner,sun4i-a10-codec.yaml      |  1 +
>>  .../bindings/sound/google,sc7180-trogdor.yaml |  1 +
>>  .../bindings/sound/samsung,aries-wm8994.yaml  |  3 +++
>>  .../bindings/sound/samsung,midas-audio.yaml   |  2 ++
>>  .../devicetree/bindings/sound/tas2562.yaml    |  2 ++
>>  .../devicetree/bindings/sound/tas2770.yaml    |  2 ++
>>  .../bindings/sound/tlv320adcx140.yaml         |  1 +
>>  .../devicetree/bindings/spi/renesas,rspi.yaml |  2 ++
>>  .../devicetree/bindings/sram/sram.yaml        |  2 ++
>>  .../timer/allwinner,sun4i-a10-timer.yaml      |  2 ++
>>  .../bindings/timer/intel,ixp4xx-timer.yaml    |  2 +-
>>  .../usb/allwinner,sun4i-a10-musb.yaml         |  2 +-
>>  .../bindings/usb/brcm,usb-pinmap.yaml         |  3 +++
>>  .../devicetree/bindings/usb/generic-ehci.yaml |  1 +
>>  .../devicetree/bindings/usb/generic-ohci.yaml |  1 +
>>  .../devicetree/bindings/usb/ingenic,musb.yaml |  2 +-
>>  .../bindings/usb/renesas,usbhs.yaml           |  1 +
>>  .../devicetree/bindings/usb/ti,j721e-usb.yaml |  3 ++-
>>  .../bindings/usb/ti,keystone-dwc3.yaml        |  2 ++
>>  74 files changed, 118 insertions(+), 33 deletions(-)
>>

[snip]

>>  
>> diff --git a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
>> index c019f9fbe916..d0aa91bbf5e5 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
>> @@ -44,7 +44,7 @@ properties:
>>        - const: vpu
>>  
>>    interrupts:
>> -    description: VPU hardware interrupt
>> +    maxItems: 1
>>  
>>  required:
>>    - compatible
>> diff --git a/Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml b/Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml
>> index 084960a8f17a..1a1159097a2a 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml
>> @@ -70,10 +70,13 @@ properties:
>>        the firmware image.
>>  
>>    clocks:
>> +    maxItems: 1
>>      description: |
>>        Main functional clock for the remote processor
>>  
>>    resets:
>> +    minItems: 1
>> +    maxItems: 2

While this works for passing the schema, if we want to be specifically accurate
between the different remoteprocs, the DSPs will have 1 items while the IPUs
should have 2 items.

I can submit an incremental update if that's ok. Otherwise, for this file,

Reviewed-by: Suman Anna <s-anna@xxxxxx>


>>      description: |
>>        Reset handles for the remote processor
>>  

[snip]

regards
Suman



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux