[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aVKDJhVuOz-V9tb2@google.com>
Date: Mon, 29 Dec 2025 13:33:26 +0000
From: Fabio Baltieri <fabiobaltieri@...omium.org>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Benson Leung <bleung@...omium.org>,
Guenter Roeck <groeck@...omium.org>,
Tzung-Bi Shih <tzungbi@...nel.org>, Simon Glass <sjg@...omium.org>,
linux-input@...r.kernel.org, devicetree@...r.kernel.org,
chrome-platform@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] dt-bindings: google,cros-ec-keyb: add
use-fn-overlay prop
On Mon, Dec 29, 2025 at 01:49:05PM +0100, Krzysztof Kozlowski wrote:
> On 27/12/2025 16:48, Fabio Baltieri wrote:
> > On Sat, Dec 27, 2025 at 01:44:26PM +0100, Krzysztof Kozlowski wrote:
> >>> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> >>> index fefaaf46a240..437575cdf352 100644
> >>> --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> >>> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> >>> @@ -44,6 +44,14 @@ properties:
> >>> where the lower 16 bits are reserved. This property is specified only
> >>> when the keyboard has a custom design for the top row keys.
> >>>
> >>> + google,use-fn-overlay:
> >>> + description: |
> >>> + Use a function key overlay. This allows defining an extra set of codes
> >>
> >> What is a function key overlay? Overlays are DT term and therefore are
> >> not suitable for bindings.
> >
> > Ok, guess I can rename it to `use-fn-key` or `use-fn-layer`, open to
> > suggestions really.
>
> Use as Linux should use? Then it's software, so not suitable for DT.
Sorry I'm not sure how I understand the comment, this describes how the
driver handles a keyboard with Fn keys, the codes are defined in the DT
linux,keymap property and the driver needs to know that there's an extra
layer to interpret the codes correctly.
> >>> + that are sent if a key is pressed while the KEY_FN is held pressed as
> >>> + well. The function codes have to be defined in the linux,keymap property
> >>> + with an offset of keypad,num-rows from the normal ones.
> >>> + type: boolean
> >>> +
> >>> dependencies:
> >>> function-row-physmap: [ 'linux,keymap' ]
> >>> google,needs-ghost-filter: [ 'linux,keymap' ]
> >>> @@ -132,6 +140,23 @@ examples:
> >>> /* UP LEFT */
> >>> 0x070b0067 0x070c0069>;
> >>> };
> >>> + - |
> >>> + /* With function keys */
> >>> + #include <dt-bindings/input/input.h>
> >>> + keyboard-controller {
> >>> + compatible = "google,cros-ec-keyb";
> >>> + keypad,num-rows = <8>;
> >>> + keypad,num-columns = <18>;
> >>> + google,use-fn-overlay;
> >>
> >> Difference in one property does not justify new example.
> >
> > Sure but when the property is set then one has to specify the extra
> > codes in the linux,keymap property and this examples shows how. I'll
> > drop it if you want me to but I think there's value in it.
>
> Examples are for verifying schema and you do not have schema enforcing
> this, thus still pointless. Add schema for that, assuming property will
> stay.
Ok got it, I'll just drop it in v3.
Powered by blists - more mailing lists