On Sun, Aug 18, 2024 at 09:58:06PM -0700, Dmitry Torokhov wrote: > The binding with a sub-node per each key is very verbose and is hard to > use with static device properties. Allow standard matrix keymap binding > in addition to the verbose one. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > .../input/samsung,s3c6410-keypad.yaml | 57 ++++++++++++++++++- > 1 file changed, 54 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml b/Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml > index a53569aa0ee7..28a318a0ff7e 100644 > --- a/Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml > +++ b/Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml > @@ -16,6 +16,10 @@ description: > maintainers: > - Krzysztof Kozlowski <krzk@xxxxxxxxxx> > > +allOf: > + - $ref: input.yaml# > + - $ref: matrix-keymap.yaml# > + > properties: > compatible: > enum: > @@ -37,6 +41,10 @@ properties: > > wakeup-source: true > > + keypad,num-columns: true > + keypad,num-rows: true > + linux,keymap: true > + > linux,input-no-autorepeat: > type: boolean > description: > @@ -81,12 +89,33 @@ patternProperties: > - keypad,row > - linux,code > > +dependencies: > + linux,keymap: > + required: Why "required" keyword? The dependencies should have just list of properties. See example-schema. > + - keypad,num-columns > + - keypad,num-rows > + > required: > - compatible > - reg > - interrupts > - - samsung,keypad-num-columns > - - samsung,keypad-num-rows > + > +if: put allOf: here and this within allOf, so you the "if" could grow in the future. Best regards, Krzysztof