On Wed, 24 Aug 2022, at 12:56 AM, Rob Herring wrote: > In order to ensure only documented properties are present, node schemas > must have unevaluatedProperties or additionalProperties set to false > (typically). > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Alistair Francis <alistair@xxxxxxxxxxxxx> Alistair > --- > .../mfd/allwinner,sun6i-a31-prcm.yaml | 40 +++++++++++++++++++ > .../mfd/allwinner,sun8i-a23-prcm.yaml | 10 +++++ > .../bindings/mfd/cirrus,lochnagar.yaml | 5 +++ > .../devicetree/bindings/mfd/dlg,da9063.yaml | 7 ++-- > .../bindings/mfd/gateworks-gsc.yaml | 5 ++- > .../bindings/mfd/maxim,max14577.yaml | 1 + > .../bindings/mfd/maxim,max77843.yaml | 1 + > .../bindings/mfd/rockchip,rk817.yaml | 2 + > .../bindings/mfd/silergy,sy7636a.yaml | 1 + > .../bindings/mfd/st,stm32-lptimer.yaml | 4 ++ > .../bindings/mfd/st,stm32-timers.yaml | 3 ++ > .../devicetree/bindings/mfd/st,stmfx.yaml | 1 + > .../bindings/mfd/stericsson,ab8500.yaml | 22 ++++++++++ > .../devicetree/bindings/mfd/ti,tps65086.yaml | 1 + > .../bindings/mfd/x-powers,axp152.yaml | 1 + > 15 files changed, 100 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml b/Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml > index d131759ccaf3..021d33cb3dd6 100644 > --- a/Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml > +++ b/Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml > @@ -22,6 +22,7 @@ properties: > patternProperties: > "^.*_(clk|rst)$": > type: object > + unevaluatedProperties: false > > properties: > compatible: > @@ -34,6 +35,45 @@ patternProperties: > - fixed-factor-clock > > allOf: > + - if: > + properties: > + compatible: > + contains: > + const: fixed-factor-clock > + > + then: > + $ref: /schemas/clock/fixed-factor-clock.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + const: allwinner,sun4i-a10-mod0-clk > + > + then: > + properties: > + "#clock-cells": > + const: 0 > + > + # Already checked in the main schema > + compatible: true > + > + clocks: > + maxItems: 2 > + > + clock-output-names: > + maxItems: 1 > + > + phandle: true > + > + required: > + - "#clock-cells" > + - compatible > + - clocks > + - clock-output-names > + > + additionalProperties: false > + > - if: > properties: > compatible: > diff --git a/Documentation/devicetree/bindings/mfd/allwinner,sun8i-a23-prcm.yaml b/Documentation/devicetree/bindings/mfd/allwinner,sun8i-a23-prcm.yaml > index aa5e683b236c..01f4f5210574 100644 > --- a/Documentation/devicetree/bindings/mfd/allwinner,sun8i-a23-prcm.yaml > +++ b/Documentation/devicetree/bindings/mfd/allwinner,sun8i-a23-prcm.yaml > @@ -22,6 +22,7 @@ properties: > patternProperties: > "^.*(clk|rst|codec).*$": > type: object > + unevaluatedProperties: false > > properties: > compatible: > @@ -36,6 +37,15 @@ patternProperties: > - compatible > > allOf: > + - if: > + properties: > + compatible: > + contains: > + const: fixed-factor-clock > + > + then: > + $ref: /schemas/clock/fixed-factor-clock.yaml# > + > - if: > properties: > compatible: > diff --git a/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml > index ad285cb480c9..86f7341eb7e1 100644 > --- a/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml > +++ b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml > @@ -144,6 +144,7 @@ properties: > CODECs digital core if not being provided by an internal regulator. > type: object > $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > properties: > compatible: > enum: > @@ -161,6 +162,7 @@ properties: > CODECs MICVDD. > type: object > $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > properties: > compatible: > enum: > @@ -177,6 +179,7 @@ properties: > Initialisation data for the MIC1VDD supplies. > type: object > $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > properties: > compatible: > enum: > @@ -202,6 +205,7 @@ properties: > Initialisation data for the MIC2VDD supplies. > type: object > $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > properties: > compatible: > enum: > @@ -228,6 +232,7 @@ properties: > the CODECs analog and 1.8V digital supplies. > type: object > $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > properties: > compatible: > enum: > diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml > index d71933460e90..54b47bd4c6aa 100644 > --- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml > +++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml > @@ -71,8 +71,9 @@ properties: > > regulators: > type: object > + additionalProperties: false > patternProperties: > - "^(ldo[1-11]|bcore[1-2]|bpro|bmem|bio|bperi)$": > + "^(ldo([1-9]|1[01])|bcore[1-2]|bpro|bmem|bio|bperi)$": > $ref: /schemas/regulator/regulator.yaml > unevaluatedProperties: false > > @@ -112,7 +113,7 @@ examples: > }; > > regulators { > - regulator-bcore1 { > + bcore1 { > regulator-name = "BCORE1"; > regulator-min-microvolt = <300000>; > regulator-max-microvolt = <1570000>; > @@ -120,7 +121,7 @@ examples: > regulator-max-microamp = <2000000>; > regulator-boot-on; > }; > - regulator-ldo11 { > + ldo11 { > regulator-name = "LDO_11"; > regulator-min-microvolt = <900000>; > regulator-max-microvolt = <3600000>; > diff --git a/Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml b/Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml > index 5e0fe3ebe1d2..acb9c54942d9 100644 > --- a/Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml > +++ b/Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml > @@ -46,6 +46,7 @@ properties: > > adc: > type: object > + additionalProperties: false > description: Optional hardware monitoring module > > properties: > @@ -59,8 +60,9 @@ properties: > const: 0 > > patternProperties: > - "^channel@[0-9]+$": > + "^channel@[0-9a-f]+$": > type: object > + additionalProperties: false > description: | > Properties for a single ADC which can report cooked values > (i.e. temperature sensor based on thermister), raw values > @@ -113,6 +115,7 @@ properties: > patternProperties: > "^fan-controller@[0-9a-f]+$": > type: object > + additionalProperties: false > description: Optional fan controller > > properties: > diff --git a/Documentation/devicetree/bindings/mfd/maxim,max14577.yaml b/Documentation/devicetree/bindings/mfd/maxim,max14577.yaml > index 52edd1bf549f..995e96ee7445 100644 > --- a/Documentation/devicetree/bindings/mfd/maxim,max14577.yaml > +++ b/Documentation/devicetree/bindings/mfd/maxim,max14577.yaml > @@ -39,6 +39,7 @@ properties: > > extcon: > type: object > + additionalProperties: false > properties: > compatible: > enum: > diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77843.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77843.yaml > index f30f96bbff43..2e2a2a86b57d 100644 > --- a/Documentation/devicetree/bindings/mfd/maxim,max77843.yaml > +++ b/Documentation/devicetree/bindings/mfd/maxim,max77843.yaml > @@ -32,6 +32,7 @@ properties: > > motor-driver: > type: object > + additionalProperties: false > properties: > compatible: > const: maxim,max77843-haptic > diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml > index bfc1720adc43..9b2378312ce2 100644 > --- a/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml > +++ b/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml > @@ -87,6 +87,7 @@ properties: > patternProperties: > "^(LDO_REG[1-9]|DCDC_REG[1-4]|BOOST|OTG_SWITCH)$": > type: object > + unevaluatedProperties: false > $ref: ../regulator/regulator.yaml# > unevaluatedProperties: false > > @@ -111,6 +112,7 @@ properties: > additional properties are required for the codec, this node can be > omitted. > type: object > + additionalProperties: false > properties: > rockchip,mic-in-differential: > type: boolean > diff --git a/Documentation/devicetree/bindings/mfd/silergy,sy7636a.yaml b/Documentation/devicetree/bindings/mfd/silergy,sy7636a.yaml > index 6de74c701635..ee0be32ac020 100644 > --- a/Documentation/devicetree/bindings/mfd/silergy,sy7636a.yaml > +++ b/Documentation/devicetree/bindings/mfd/silergy,sy7636a.yaml > @@ -42,6 +42,7 @@ properties: > vcom: > type: object > $ref: /schemas/regulator/regulator.yaml# > + unevaluatedProperties: false > description: > The regulator for the compenstation voltage. Enabling/disabling this > enables/disables the entire device. > diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml > index a58f08aa430d..d950dd5d48bd 100644 > --- a/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml > +++ b/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml > @@ -46,6 +46,7 @@ properties: > > pwm: > type: object > + additionalProperties: false > > properties: > compatible: > @@ -60,6 +61,7 @@ properties: > > counter: > type: object > + additionalProperties: false > > properties: > compatible: > @@ -70,6 +72,7 @@ properties: > > timer: > type: object > + additionalProperties: false > > properties: > compatible: > @@ -81,6 +84,7 @@ properties: > patternProperties: > "^trigger@[0-9]+$": > type: object > + additionalProperties: false > > properties: > compatible: > diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml > index 5db00af8e116..e2c3c3b44abb 100644 > --- a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml > +++ b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml > @@ -69,6 +69,7 @@ properties: > > pwm: > type: object > + additionalProperties: false > > properties: > compatible: > @@ -104,6 +105,7 @@ properties: > > counter: > type: object > + additionalProperties: false > > properties: > compatible: > @@ -115,6 +117,7 @@ properties: > patternProperties: > "^timer@[0-9]+$": > type: object > + additionalProperties: false > > properties: > compatible: > diff --git a/Documentation/devicetree/bindings/mfd/st,stmfx.yaml b/Documentation/devicetree/bindings/mfd/st,stmfx.yaml > index b2a4e4aa7ff6..b4d54302582f 100644 > --- a/Documentation/devicetree/bindings/mfd/st,stmfx.yaml > +++ b/Documentation/devicetree/bindings/mfd/st,stmfx.yaml > @@ -57,6 +57,7 @@ properties: > patternProperties: > "^[a-zA-Z]*-pins$": > type: object > + additionalProperties: false > > allOf: > - $ref: ../pinctrl/pinmux-node.yaml > diff --git a/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml > index 623a4b5cd27a..6c8d42f27fe8 100644 > --- a/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml > +++ b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml > @@ -51,6 +51,7 @@ properties: > provides the reference clock for the entire U8500 system and > the DB8500 counterpart. > type: object > + additionalProperties: false > > properties: > compatible: > @@ -63,6 +64,7 @@ properties: > description: Node describing the AB8500 GPIO controller. A few > GPIO pins available for misc usage. > type: object > + additionalProperties: false > > properties: > compatible: > @@ -78,6 +80,7 @@ properties: > rtc: > description: Node describing the AB8500 battery-backed RTC. > type: object > + additionalProperties: false > > properties: > compatible: > @@ -337,34 +340,40 @@ properties: > description: The voltage for the auxilary LDO regulator 1 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_aux2: > description: The voltage for the auxilary LDO regulator 2 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_aux3: > description: The voltage for the auxilary LDO regulator 3 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_aux4: > description: The voltage for the auxilary LDO regulator 4 > only present on AB8505 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_aux5: > description: The voltage for the auxilary LDO regulator 5 > only present on AB8505 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_aux6: > description: The voltage for the auxilary LDO regulator 6 > only present on AB8505 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > # There is never any AUX7 regulator which is confusing > > @@ -373,18 +382,21 @@ properties: > only present on AB8505 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_intcore: > description: The LDO regulator for the internal core voltage > of the AB8500 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_adc: > description: Analog power regulator for the analog to digital converter > ADC, only present on AB8505 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_tvout: > description: The voltage for the TV output regulator, incidentally > @@ -393,33 +405,39 @@ properties: > Only present on AB8500. > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_audio: > description: The LDO regulator for the audio codec output > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_anamic1: > description: The LDO regulator for the analog microphone 1 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_anamic2: > description: The LDO regulator for the analog microphone 2 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_dmic: > description: The LDO regulator for the digital microphone > only present on AB8500 > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ldo_ana: > description: Analog power regulator for CSI and DSI interfaces, > Camera Serial Interface CSI and Display Serial Interface DSI. > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > required: > - compatible > @@ -442,16 +460,19 @@ properties: > description: The voltage for the VSMPS1 external regulator > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ext2: > description: The voltage for the VSMPS2 external regulator > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > ab8500_ext3: > description: The voltage for the VSMPS3 external regulator > type: object > $ref: ../regulator/regulator.yaml# > + unevaluatedProperties: false > > required: > - compatible > @@ -462,6 +483,7 @@ patternProperties: > "^pwm@[1-9]+?$": > type: object > $ref: ../pwm/pwm.yaml# > + unevaluatedProperties: false > description: Represents each of the PWM blocks in the AB8500 > > properties: > diff --git a/Documentation/devicetree/bindings/mfd/ti,tps65086.yaml b/Documentation/devicetree/bindings/mfd/ti,tps65086.yaml > index 6aeedda3be15..3fdd9cb5b347 100644 > --- a/Documentation/devicetree/bindings/mfd/ti,tps65086.yaml > +++ b/Documentation/devicetree/bindings/mfd/ti,tps65086.yaml > @@ -38,6 +38,7 @@ properties: > > regulators: > type: object > + additionalProperties: false > description: | > List of child nodes that specify the regulator initialization data. > Child nodes must be named after their hardware counterparts: > diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > index 3a53bae611bc..b9b71ba33893 100644 > --- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > +++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > @@ -260,6 +260,7 @@ properties: > "^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|drivevbus|dc5ldo)$": > $ref: /schemas/regulator/regulator.yaml# > type: object > + unevaluatedProperties: false > > properties: > regulator-ramp-delay: > -- > 2.34.1 > >