Commit 543c8f2f authored by Rob Herring's avatar Rob Herring Committed by Jonathan Cameron
Browse files

dt-bindings: iio: temperature: ltc2983: Fix child node unevaluated properties



The child node schemas are missing 'unevaluatedProperties' constraints,
so any unknown properties are allowed. The current structure with
multiple patternProperties schemas doesn't work for
unevaluatedProperties as each sub-schema is evaluated independently. To
fix this, move the sub-schema for all child nodes to a $defs entry and
reference it from each named child node.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230404205014.644336-1-robh@kernel.org


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 7c95a3f5
Loading
Loading
Loading
Loading
+38 −27
Original line number Diff line number Diff line
@@ -18,6 +18,28 @@ description: |
  https://www.analog.com/media/en/technical-documentation/data-sheets/29861fa.pdf
  https://www.analog.com/media/en/technical-documentation/data-sheets/ltm2985.pdf

$defs:
  sensor-node:
    type: object
    description: Sensor node common constraints

    properties:
      reg:
        description:
          Channel number. Connects the sensor to the channel with this number
          of the device.
        minimum: 1
        maximum: 20

      adi,sensor-type:
        description: Type of sensor connected to the device.
        $ref: /schemas/types.yaml#/definitions/uint32

    required:
      - reg
      - adi,sensor-type


properties:
  compatible:
    oneOf:
@@ -64,28 +86,10 @@ properties:
    const: 0

patternProperties:
  "@([0-9a-f]+)$":
    type: object
    description: Sensor.

    properties:
      reg:
        description:
          Channel number. Connects the sensor to the channel with this number
          of the device.
        minimum: 1
        maximum: 20

      adi,sensor-type:
        description: Type of sensor connected to the device.
        $ref: /schemas/types.yaml#/definitions/uint32

    required:
      - reg
      - adi,sensor-type

  "^thermocouple@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false

    description: Thermocouple sensor.

    properties:
@@ -141,7 +145,9 @@ patternProperties:
            - adi,custom-thermocouple

  "^diode@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false

    description: Diode sensor.

    properties:
@@ -184,7 +190,8 @@ patternProperties:
        default: 0

  "^rtd@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false
    description: RTD sensor.

    properties:
@@ -282,7 +289,8 @@ patternProperties:
            - adi,custom-rtd

  "^thermistor@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false
    description: Thermistor sensor.

    properties:
@@ -383,7 +391,8 @@ patternProperties:
            - adi,custom-thermistor

  "^adc@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false
    description: Direct ADC sensor.

    properties:
@@ -397,7 +406,8 @@ patternProperties:
        type: boolean

  "^temp@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false
    description: Active analog temperature sensor.

    properties:
@@ -426,7 +436,8 @@ patternProperties:
      - adi,custom-temp

  "^rsense@":
    type: object
    $ref: '#/$defs/sensor-node'
    unevaluatedProperties: false
    description: Sense resistor sensor.

    properties: