Commit 27e4a85c authored by Rob Herring's avatar Rob Herring

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: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220330145741.3044896-1-robh@kernel.org
parent e7ccd8a4
......@@ -98,6 +98,7 @@ allOf:
- ti,adc121s
- ti,ads7866
- ti,ads7868
then:
required:
- vcc-supply
# Devices with a vref
......
......@@ -174,7 +174,7 @@ patternProperties:
contains:
const: st,stm32-dfsdm-adc
- then:
then:
properties:
st,adc-channels:
minItems: 1
......@@ -206,7 +206,7 @@ patternProperties:
contains:
const: st,stm32-dfsdm-dmic
- then:
then:
properties:
st,adc-channels:
maxItems: 1
......@@ -254,7 +254,7 @@ allOf:
contains:
const: st,stm32h7-dfsdm
- then:
then:
patternProperties:
"^filter@[0-9]+$":
properties:
......@@ -269,7 +269,7 @@ allOf:
contains:
const: st,stm32mp1-dfsdm
- then:
then:
patternProperties:
"^filter@[0-9]+$":
properties:
......
......@@ -59,9 +59,9 @@ allOf:
contains:
enum:
- adi,ad5371
then:
required:
- vref2-supply
then:
required:
- vref2-supply
examples:
- |
......
......@@ -93,48 +93,48 @@ allOf:
- qcom,sdm660-gnoc
- qcom,sdm660-snoc
then:
properties:
clock-names:
items:
- const: bus
- const: bus_a
clocks:
items:
- description: Bus Clock
- description: Bus A Clock
# Child node's properties
patternProperties:
'^interconnect-[a-z0-9]+$':
type: object
description:
snoc-mm is a child of snoc, sharing snoc's register address space.
properties:
compatible:
enum:
- qcom,msm8939-snoc-mm
'#interconnect-cells':
const: 1
clock-names:
items:
- const: bus
- const: bus_a
clocks:
items:
- description: Bus Clock
- description: Bus A Clock
required:
- compatible
- '#interconnect-cells'
- clock-names
- clocks
then:
properties:
clock-names:
items:
- const: bus
- const: bus_a
clocks:
items:
- description: Bus Clock
- description: Bus A Clock
# Child node's properties
patternProperties:
'^interconnect-[a-z0-9]+$':
type: object
description:
snoc-mm is a child of snoc, sharing snoc's register address space.
properties:
compatible:
enum:
- qcom,msm8939-snoc-mm
'#interconnect-cells':
const: 1
clock-names:
items:
- const: bus
- const: bus_a
clocks:
items:
- description: Bus Clock
- description: Bus A Clock
required:
- compatible
- '#interconnect-cells'
- clock-names
- clocks
- if:
properties:
......
......@@ -197,6 +197,8 @@ allOf:
- nvidia,tegra30-sdhci
- nvidia,tegra114-sdhci
- nvidia,tegra124-sdhci
then:
properties:
clocks:
items:
- description: module clock
......
......@@ -56,6 +56,7 @@ if:
compatible:
contains:
const: ti,davinci_mdio
then:
required:
- bus_freq
......
......@@ -275,17 +275,17 @@ allOf:
- nvidia,hssquelch-level
- nvidia,hsdiscon-level
else:
properties:
clocks:
maxItems: 4
else:
properties:
clocks:
maxItems: 4
clock-names:
items:
- const: reg
- const: pll_u
- const: timer
- const: utmi-pads
clock-names:
items:
- const: reg
- const: pll_u
- const: timer
- const: utmi-pads
- if:
properties:
......
......@@ -14,24 +14,24 @@ if:
compatible:
contains:
const: qcom,usb-hs-phy-apq8064
then:
properties:
resets:
maxItems: 1
then:
properties:
resets:
maxItems: 1
reset-names:
const: por
reset-names:
const: por
else:
properties:
resets:
minItems: 2
maxItems: 2
else:
properties:
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: phy
- const: por
reset-names:
items:
- const: phy
- const: por
properties:
compatible:
......@@ -92,6 +92,8 @@ additionalProperties: false
examples:
- |
otg: usb-controller {
#reset-cells = <1>;
ulpi {
phy {
compatible = "qcom,usb-hs-phy-msm8974", "qcom,usb-hs-phy";
......
......@@ -18,23 +18,23 @@ description:
allOf:
- $ref: "regulator.yaml#"
if:
properties:
compatible:
contains:
const: regulator-fixed-clock
required:
- clocks
else:
if:
properties:
compatible:
contains:
const: regulator-fixed-domain
required:
- power-domains
- required-opps
- if:
properties:
compatible:
contains:
const: regulator-fixed-clock
then:
required:
- clocks
- if:
properties:
compatible:
contains:
const: regulator-fixed-domain
then:
required:
- power-domains
- required-opps
properties:
compatible:
......
......@@ -136,8 +136,7 @@ allOf:
compatible:
contains:
const: st,stm32f4-sai
- then:
then:
properties:
clocks:
items:
......@@ -148,8 +147,7 @@ allOf:
items:
- const: x8k
- const: x11k
- else:
else:
properties:
clocks:
items:
......
......@@ -136,14 +136,14 @@ required:
- reg
if:
properties:
compatible:
contains:
enum:
- qcom,rpm-msg-ram
- rockchip,rk3288-pmu-sram
else:
not:
properties:
compatible:
contains:
enum:
- qcom,rpm-msg-ram
- rockchip,rk3288-pmu-sram
then:
required:
- "#address-cells"
- "#size-cells"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment