Re: [PATCH v5 0/2] Input: cros-ec-keyb: Better matrixless support

From: Stephen Boyd
Date: Wed May 18 2022 - 16:08:04 EST


Quoting Dmitry Torokhov (2022-05-17 22:06:11)
> Hi Stephen,
>
> On Mon, May 16, 2022 at 11:34:50AM -0700, Stephen Boyd wrote:
> > This is a followup to my previous patch[1] that skips keyboard registration
> > when the matrix properties aren't present. This adds a compatible string
> > for this scenario so we can ease existing DTBs over to the new design.
>
> As discussed offlist I massaged the binding and the driver code a bit
> and applied it to an immutable branch off v5.17:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git ib/5.17-cros-ec-keyb
>
> that you can share with DTS maintainer(s) to accelerate DTS conversions.
>
> I also dropped the original patch as it did not make it to Linus' tree
> yet.
>

Ok thanks. Doug noticed some problems with the dt binding. Here's a
follow up patch that you can squash in or apply on top.

---8<---
From: Stephen Boyd <swboyd@xxxxxxxxxxxx>
Date: Wed, 18 May 2022 13:03:58 -0700
Subject: [PATCH] dt-bindings: google,cros-ec-keyb: Fixup bad compatible match

This uses anyOf which is wrong. Use oneOf and move the items under the
description. Also drop allOf for $ref.

Reported-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
---
.../bindings/input/google,cros-ec-keyb.yaml | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
index e11cbf508723..c31a02149f37 100644
--- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
+++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
@@ -20,13 +20,11 @@ description: |

properties:
compatible:
- anyOf:
+ oneOf:
- description: ChromeOS EC with only buttons/switches
- - items:
- - const: google,cros-ec-keyb-switches
+ const: google,cros-ec-keyb-switches
- description: ChromeOS EC with keyboard and possibly buttons/switches
- - items:
- - const: google,cros-ec-keyb
+ const: google,cros-ec-keyb

google,needs-ghost-filter:
description:
@@ -58,8 +56,7 @@ if:
contains:
const: google,cros-ec-keyb
then:
- allOf:
- - $ref: "/schemas/input/matrix-keymap.yaml#"
+ $ref: "/schemas/input/matrix-keymap.yaml#"
required:
- keypad,num-rows
- keypad,num-columns
--
https://chromeos.dev