Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: Fix incomplete if/then/else schemas

A recent review highlighted that the json-schema meta-schema allows any
combination of if/then/else schema keywords even though if, then or else
by themselves makes little sense. With an added meta-schema to only
allow valid combinations, there's a handful of schemas found which need
fixing in a variety of ways. Incorrect indentation is the most common
issue.

Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Olivier Moysan <olivier.moysan@foss.st.com>
Cc: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Georgi Djakov <djakov@kernel.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Dmitry Osipenko <digetx@gmail.com>
Cc: linux-iio@vger.kernel.org
Cc: alsa-devel@alsa-project.org
Cc: linux-mmc@vger.kernel.org
Cc: linux-tegra@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-phy@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220330145741.3044896-1-robh@kernel.org

+100 -96
+1
Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
··· 98 98 - ti,adc121s 99 99 - ti,ads7866 100 100 - ti,ads7868 101 + then: 101 102 required: 102 103 - vcc-supply 103 104 # Devices with a vref
+4 -4
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml
··· 174 174 contains: 175 175 const: st,stm32-dfsdm-adc 176 176 177 - - then: 177 + then: 178 178 properties: 179 179 st,adc-channels: 180 180 minItems: 1 ··· 206 206 contains: 207 207 const: st,stm32-dfsdm-dmic 208 208 209 - - then: 209 + then: 210 210 properties: 211 211 st,adc-channels: 212 212 maxItems: 1 ··· 254 254 contains: 255 255 const: st,stm32h7-dfsdm 256 256 257 - - then: 257 + then: 258 258 patternProperties: 259 259 "^filter@[0-9]+$": 260 260 properties: ··· 269 269 contains: 270 270 const: st,stm32mp1-dfsdm 271 271 272 - - then: 272 + then: 273 273 patternProperties: 274 274 "^filter@[0-9]+$": 275 275 properties:
+3 -3
Documentation/devicetree/bindings/iio/dac/adi,ad5360.yaml
··· 59 59 contains: 60 60 enum: 61 61 - adi,ad5371 62 - then: 63 - required: 64 - - vref2-supply 62 + then: 63 + required: 64 + - vref2-supply 65 65 66 66 examples: 67 67 - |
+35 -35
Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
··· 93 93 - qcom,sdm660-gnoc 94 94 - qcom,sdm660-snoc 95 95 96 - then: 97 - properties: 98 - clock-names: 99 - items: 100 - - const: bus 101 - - const: bus_a 96 + then: 97 + properties: 98 + clock-names: 99 + items: 100 + - const: bus 101 + - const: bus_a 102 102 103 - clocks: 104 - items: 105 - - description: Bus Clock 106 - - description: Bus A Clock 103 + clocks: 104 + items: 105 + - description: Bus Clock 106 + - description: Bus A Clock 107 107 108 - # Child node's properties 109 - patternProperties: 110 - '^interconnect-[a-z0-9]+$': 111 - type: object 112 - description: 113 - snoc-mm is a child of snoc, sharing snoc's register address space. 108 + # Child node's properties 109 + patternProperties: 110 + '^interconnect-[a-z0-9]+$': 111 + type: object 112 + description: 113 + snoc-mm is a child of snoc, sharing snoc's register address space. 114 114 115 - properties: 116 - compatible: 117 - enum: 118 - - qcom,msm8939-snoc-mm 115 + properties: 116 + compatible: 117 + enum: 118 + - qcom,msm8939-snoc-mm 119 119 120 - '#interconnect-cells': 121 - const: 1 120 + '#interconnect-cells': 121 + const: 1 122 122 123 - clock-names: 124 - items: 125 - - const: bus 126 - - const: bus_a 123 + clock-names: 124 + items: 125 + - const: bus 126 + - const: bus_a 127 127 128 - clocks: 129 - items: 130 - - description: Bus Clock 131 - - description: Bus A Clock 128 + clocks: 129 + items: 130 + - description: Bus Clock 131 + - description: Bus A Clock 132 132 133 - required: 134 - - compatible 135 - - '#interconnect-cells' 136 - - clock-names 137 - - clocks 133 + required: 134 + - compatible 135 + - '#interconnect-cells' 136 + - clock-names 137 + - clocks 138 138 139 139 - if: 140 140 properties:
+2
Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
··· 197 197 - nvidia,tegra30-sdhci 198 198 - nvidia,tegra114-sdhci 199 199 - nvidia,tegra124-sdhci 200 + then: 201 + properties: 200 202 clocks: 201 203 items: 202 204 - description: module clock
+1
Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml
··· 56 56 compatible: 57 57 contains: 58 58 const: ti,davinci_mdio 59 + then: 59 60 required: 60 61 - bus_freq 61 62
+10 -10
Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.yaml
··· 275 275 - nvidia,hssquelch-level 276 276 - nvidia,hsdiscon-level 277 277 278 - else: 279 - properties: 280 - clocks: 281 - maxItems: 4 278 + else: 279 + properties: 280 + clocks: 281 + maxItems: 4 282 282 283 - clock-names: 284 - items: 285 - - const: reg 286 - - const: pll_u 287 - - const: timer 288 - - const: utmi-pads 283 + clock-names: 284 + items: 285 + - const: reg 286 + - const: pll_u 287 + - const: timer 288 + - const: utmi-pads 289 289 290 290 - if: 291 291 properties:
+17 -15
Documentation/devicetree/bindings/phy/qcom,usb-hs-phy.yaml
··· 14 14 compatible: 15 15 contains: 16 16 const: qcom,usb-hs-phy-apq8064 17 - then: 18 - properties: 19 - resets: 20 - maxItems: 1 17 + then: 18 + properties: 19 + resets: 20 + maxItems: 1 21 21 22 - reset-names: 23 - const: por 22 + reset-names: 23 + const: por 24 24 25 - else: 26 - properties: 27 - resets: 28 - minItems: 2 29 - maxItems: 2 25 + else: 26 + properties: 27 + resets: 28 + minItems: 2 29 + maxItems: 2 30 30 31 - reset-names: 32 - items: 33 - - const: phy 34 - - const: por 31 + reset-names: 32 + items: 33 + - const: phy 34 + - const: por 35 35 36 36 properties: 37 37 compatible: ··· 92 92 examples: 93 93 - | 94 94 otg: usb-controller { 95 + #reset-cells = <1>; 96 + 95 97 ulpi { 96 98 phy { 97 99 compatible = "qcom,usb-hs-phy-msm8974", "qcom,usb-hs-phy";
+17 -17
Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
··· 18 18 19 19 allOf: 20 20 - $ref: "regulator.yaml#" 21 - 22 - if: 23 - properties: 24 - compatible: 25 - contains: 26 - const: regulator-fixed-clock 27 - required: 28 - - clocks 29 - else: 30 - if: 31 - properties: 32 - compatible: 33 - contains: 34 - const: regulator-fixed-domain 35 - required: 36 - - power-domains 37 - - required-opps 21 + - if: 22 + properties: 23 + compatible: 24 + contains: 25 + const: regulator-fixed-clock 26 + then: 27 + required: 28 + - clocks 29 + - if: 30 + properties: 31 + compatible: 32 + contains: 33 + const: regulator-fixed-domain 34 + then: 35 + required: 36 + - power-domains 37 + - required-opps 38 38 39 39 properties: 40 40 compatible:
+2 -4
Documentation/devicetree/bindings/sound/st,stm32-sai.yaml
··· 136 136 compatible: 137 137 contains: 138 138 const: st,stm32f4-sai 139 - 140 - - then: 139 + then: 141 140 properties: 142 141 clocks: 143 142 items: ··· 147 148 items: 148 149 - const: x8k 149 150 - const: x11k 150 - 151 - - else: 151 + else: 152 152 properties: 153 153 clocks: 154 154 items:
+8 -8
Documentation/devicetree/bindings/sram/sram.yaml
··· 136 136 - reg 137 137 138 138 if: 139 - properties: 140 - compatible: 141 - contains: 142 - enum: 143 - - qcom,rpm-msg-ram 144 - - rockchip,rk3288-pmu-sram 145 - 146 - else: 139 + not: 140 + properties: 141 + compatible: 142 + contains: 143 + enum: 144 + - qcom,rpm-msg-ram 145 + - rockchip,rk3288-pmu-sram 146 + then: 147 147 required: 148 148 - "#address-cells" 149 149 - "#size-cells"