On 03/05/2022 18:14, Doug Anderson wrote: > Hi, > > On Tue, May 3, 2022 at 8:54 AM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote: >> >> On 03/05/2022 17:46, Doug Anderson wrote: >>> Hi, >>> >>> On Tue, May 3, 2022 at 8:42 AM Krzysztof Kozlowski >>> <krzysztof.kozlowski@xxxxxxxxxx> wrote: >>>> >>>> On 03/05/2022 06:22, Stephen Boyd wrote: >>>>> If the ChromeOS board is a detachable, this cros-ec-keyb device won't >>>>> have a matrix keyboard but it may have some button switches, e.g. volume >>>>> buttons and power buttons. The driver still registers a keyboard though >>>>> and that leads to userspace confusion around where the keyboard is. >>>> >>>> (...) >>>> >>>>> >>>>> +if: >>>>> + properties: >>>>> + compatible: >>>>> + contains: >>>>> + const: google,cros-ec-keyb >>>>> +then: >>>>> + allOf: >>>>> + - $ref: "/schemas/input/matrix-keymap.yaml#" >>>>> + required: >>>>> + - keypad,num-rows >>>>> + - keypad,num-columns >>>>> + - linux,keymap >>>> >>>> else: >>>> properties: >>>> function-row-phsymap: false >>>> google,needs-ghost-filter: false >>>> >>>> Because these are not valid for the non-matrix-keyboard case, right? >>> >>> Isn't that implicit because this file has `unevaluatedProperties: false` ? >> >> But they are evaluated here, aren't they? > > Only if the "if" test, though? No, they are evaluated always. They are listed directly in properties, not in "if", therefore they will be considered as always evaluated. > ...ah, or is this a difference between > "unevaluatedProperties" and "additionalProperties" ? Best regards, Krzysztof