On Tue, Feb 6, 2024 at 11:26 AM David Lechner <dlechner@xxxxxxxxxxxx> wrote: > > This adds a new binding for the Analog Devices, Inc. AD7944, AD7985, and > AD7986 ADCs. > > Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx> > --- > .../devicetree/bindings/iio/adc/adi,ad7944.yaml | 231 +++++++++++++++++++++ > MAINTAINERS | 8 + > 2 files changed, 239 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml > new file mode 100644 > index 000000000000..a023adbeba42 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml ... + adi,reference: + $ref: /schemas/types.yaml#/definitions/string + enum: [ internal, internal-buffer, external ] + default: internal ... > +allOf: > + # ref-supply is only used for external reference voltage > + - if: > + not: > + required: > + - adi,reference > + then: > + properties: > + ref-supply: false > + else: > + if: > + properties: > + adi,reference: > + const: external > + then: > + required: > + - ref-supply > + else: > + properties: > + ref-supply: false This seems like something that could potentially be improved in the dtschema tooling. Since adi,reference has a default of "internal", I would expect: if: properties: adi,reference: const: external then: required: - ref-supply else: properties: ref-supply: false to be sufficient here. However, currently, if the adi,reference property is omitted from the dts/dtb, the condition here evaluates to true and unexpectedly (incorrectly?) the validator requires the ref-supply property.