* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-27 20:30 ` [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible Stephen Boyd
@ 2022-04-28 6:12 ` Krzysztof Kozlowski
2022-04-28 6:24 ` Stephen Boyd
2022-04-29 6:31 ` Krzysztof Kozlowski
2022-04-29 16:31 ` Doug Anderson
2 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2022-04-28 6:12 UTC (permalink / raw)
To: Stephen Boyd, Dmitry Torokhov
Cc: linux-kernel, patches, Rob Herring, devicetree, Benson Leung,
Guenter Roeck, Douglas Anderson, Hsin-Yi Wang,
Joseph S. Barrera III
On 27/04/2022 22:30, Stephen Boyd wrote:
> If the device is a detachable, this device won't have a matrix keyboard
> but it may have some button switches, e.g. volume buttons and power
> buttons. Let's add a more specific compatible for this type of device
> that indicates to the OS that there are only switches and no matrix
> keyboard present.
>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: <devicetree@vger.kernel.org>
> Cc: Benson Leung <bleung@chromium.org>
> Cc: Guenter Roeck <groeck@chromium.org>
> Cc: Douglas Anderson <dianders@chromium.org>
> Cc: Hsin-Yi Wang <hsinyi@chromium.org>
> Cc: "Joseph S. Barrera III" <joebar@chromium.org>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> ---
> .../bindings/input/google,cros-ec-keyb.yaml | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> index e8f137abb03c..edc1194d558d 100644
> --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> @@ -15,14 +15,20 @@ description: |
> Google's ChromeOS EC Keyboard is a simple matrix keyboard
> implemented on a separate EC (Embedded Controller) device. It provides
> a message for reading key scans from the EC. These are then converted
> - into keycodes for processing by the kernel.
> + into keycodes for processing by the kernel. This device also supports
> + switches/buttons like power and volume buttons.
>
> allOf:
> - $ref: "/schemas/input/matrix-keymap.yaml#"
>
> properties:
> compatible:
> - const: google,cros-ec-keyb
> + oneOf:
> + - items:
> + - const: google,cros-ec-keyb-switches
> + - const: google,cros-ec-keyb
> + - items:
> + - const: google,cros-ec-keyb
>
In such case matrix-keymap properties are not valid, right? The
matrix-keymap should not be referenced, IOW, you need to move allOf
below "required" and add:
if:not:...then: $ref: "/schemas/input/matrix-keymap.yaml
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-28 6:12 ` Krzysztof Kozlowski
@ 2022-04-28 6:24 ` Stephen Boyd
2022-04-28 7:27 ` Krzysztof Kozlowski
0 siblings, 1 reply; 12+ messages in thread
From: Stephen Boyd @ 2022-04-28 6:24 UTC (permalink / raw)
To: Dmitry Torokhov, Krzysztof Kozlowski
Cc: linux-kernel, patches, Rob Herring, devicetree, Benson Leung,
Guenter Roeck, Douglas Anderson, Hsin-Yi Wang,
Joseph S. Barrera III
Quoting Krzysztof Kozlowski (2022-04-27 23:12:47)
> On 27/04/2022 22:30, Stephen Boyd wrote:
> > If the device is a detachable, this device won't have a matrix keyboard
> > but it may have some button switches, e.g. volume buttons and power
> > buttons. Let's add a more specific compatible for this type of device
> > that indicates to the OS that there are only switches and no matrix
> > keyboard present.
> >
> > Cc: Krzysztof Kozlowski <krzk@kernel.org>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: <devicetree@vger.kernel.org>
> > Cc: Benson Leung <bleung@chromium.org>
> > Cc: Guenter Roeck <groeck@chromium.org>
> > Cc: Douglas Anderson <dianders@chromium.org>
> > Cc: Hsin-Yi Wang <hsinyi@chromium.org>
> > Cc: "Joseph S. Barrera III" <joebar@chromium.org>
> > Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> > ---
> > .../bindings/input/google,cros-ec-keyb.yaml | 12 +++++++++---
> > 1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > index e8f137abb03c..edc1194d558d 100644
> > --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > @@ -15,14 +15,20 @@ description: |
> > Google's ChromeOS EC Keyboard is a simple matrix keyboard
> > implemented on a separate EC (Embedded Controller) device. It provides
> > a message for reading key scans from the EC. These are then converted
> > - into keycodes for processing by the kernel.
> > + into keycodes for processing by the kernel. This device also supports
> > + switches/buttons like power and volume buttons.
> >
> > allOf:
> > - $ref: "/schemas/input/matrix-keymap.yaml#"
> >
> > properties:
> > compatible:
> > - const: google,cros-ec-keyb
> > + oneOf:
> > + - items:
> > + - const: google,cros-ec-keyb-switches
> > + - const: google,cros-ec-keyb
> > + - items:
> > + - const: google,cros-ec-keyb
> >
>
> In such case matrix-keymap properties are not valid, right? The
> matrix-keymap should not be referenced, IOW, you need to move allOf
> below "required" and add:
> if:not:...then: $ref: "/schemas/input/matrix-keymap.yaml
>
Eventually that sounds doable, but for the time being I want to merely
add this new compatible in front of the original compatible so that
updated DTBs still work with older kernels, i.e. the switches still get
registered because the driver works with the original
google,cros-ec-keyb compatible. Given that none of the properties are
required for google,cros-ec-keyb it didn't seem necessary to make having
the google,cros-ec-keyb-switches compatible deny the existence of the
matrix-keymap properties.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-28 6:24 ` Stephen Boyd
@ 2022-04-28 7:27 ` Krzysztof Kozlowski
2022-04-28 16:01 ` Stephen Boyd
0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2022-04-28 7:27 UTC (permalink / raw)
To: Stephen Boyd, Dmitry Torokhov
Cc: linux-kernel, patches, Rob Herring, devicetree, Benson Leung,
Guenter Roeck, Douglas Anderson, Hsin-Yi Wang,
Joseph S. Barrera III
On 28/04/2022 08:24, Stephen Boyd wrote:
> Quoting Krzysztof Kozlowski (2022-04-27 23:12:47)
>> On 27/04/2022 22:30, Stephen Boyd wrote:
>>> If the device is a detachable, this device won't have a matrix keyboard
>>> but it may have some button switches, e.g. volume buttons and power
>>> buttons. Let's add a more specific compatible for this type of device
>>> that indicates to the OS that there are only switches and no matrix
>>> keyboard present.
>>>
>>> Cc: Krzysztof Kozlowski <krzk@kernel.org>
>>> Cc: Rob Herring <robh+dt@kernel.org>
>>> Cc: <devicetree@vger.kernel.org>
>>> Cc: Benson Leung <bleung@chromium.org>
>>> Cc: Guenter Roeck <groeck@chromium.org>
>>> Cc: Douglas Anderson <dianders@chromium.org>
>>> Cc: Hsin-Yi Wang <hsinyi@chromium.org>
>>> Cc: "Joseph S. Barrera III" <joebar@chromium.org>
>>> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
>>> ---
>>> .../bindings/input/google,cros-ec-keyb.yaml | 12 +++++++++---
>>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
>>> index e8f137abb03c..edc1194d558d 100644
>>> --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
>>> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
>>> @@ -15,14 +15,20 @@ description: |
>>> Google's ChromeOS EC Keyboard is a simple matrix keyboard
>>> implemented on a separate EC (Embedded Controller) device. It provides
>>> a message for reading key scans from the EC. These are then converted
>>> - into keycodes for processing by the kernel.
>>> + into keycodes for processing by the kernel. This device also supports
>>> + switches/buttons like power and volume buttons.
>>>
>>> allOf:
>>> - $ref: "/schemas/input/matrix-keymap.yaml#"
>>>
>>> properties:
>>> compatible:
>>> - const: google,cros-ec-keyb
>>> + oneOf:
>>> + - items:
>>> + - const: google,cros-ec-keyb-switches
>>> + - const: google,cros-ec-keyb
>>> + - items:
>>> + - const: google,cros-ec-keyb
>>>
>>
>> In such case matrix-keymap properties are not valid, right? The
>> matrix-keymap should not be referenced, IOW, you need to move allOf
>> below "required" and add:
>> if:not:...then: $ref: "/schemas/input/matrix-keymap.yaml
>>
>
> Eventually that sounds doable, but for the time being I want to merely
> add this new compatible in front of the original compatible so that
> updated DTBs still work with older kernels, i.e. the switches still get
> registered because the driver works with the original
> google,cros-ec-keyb compatible.
The bindings here do not invalidate (break) existing DTBs. Old DTBs can
work in old way, we talk only about binding.
> Given that none of the properties are
> required for google,cros-ec-keyb it didn't seem necessary to make having
> the google,cros-ec-keyb-switches compatible deny the existence of the
> matrix-keymap properties.
Maybe I misunderstood the commit msg. Are the
"google,cros-ec-keyb-switches" devices coming with matrix keyboard or
not? I mean physically.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-28 7:27 ` Krzysztof Kozlowski
@ 2022-04-28 16:01 ` Stephen Boyd
2022-04-29 6:30 ` Krzysztof Kozlowski
0 siblings, 1 reply; 12+ messages in thread
From: Stephen Boyd @ 2022-04-28 16:01 UTC (permalink / raw)
To: Dmitry Torokhov, Krzysztof Kozlowski
Cc: linux-kernel, patches, Rob Herring, devicetree, Benson Leung,
Guenter Roeck, Douglas Anderson, Hsin-Yi Wang,
Joseph S. Barrera III
Quoting Krzysztof Kozlowski (2022-04-28 00:27:52)
> On 28/04/2022 08:24, Stephen Boyd wrote:
> > Quoting Krzysztof Kozlowski (2022-04-27 23:12:47)
> >> On 27/04/2022 22:30, Stephen Boyd wrote:
> >>> If the device is a detachable, this device won't have a matrix keyboard
> >>> but it may have some button switches, e.g. volume buttons and power
> >>> buttons. Let's add a more specific compatible for this type of device
> >>> that indicates to the OS that there are only switches and no matrix
> >>> keyboard present.
> >>>
> >>> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> >>> Cc: Rob Herring <robh+dt@kernel.org>
> >>> Cc: <devicetree@vger.kernel.org>
> >>> Cc: Benson Leung <bleung@chromium.org>
> >>> Cc: Guenter Roeck <groeck@chromium.org>
> >>> Cc: Douglas Anderson <dianders@chromium.org>
> >>> Cc: Hsin-Yi Wang <hsinyi@chromium.org>
> >>> Cc: "Joseph S. Barrera III" <joebar@chromium.org>
> >>> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> >>> ---
> >>> .../bindings/input/google,cros-ec-keyb.yaml | 12 +++++++++---
> >>> 1 file changed, 9 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> >>> index e8f137abb03c..edc1194d558d 100644
> >>> --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> >>> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> >>> @@ -15,14 +15,20 @@ description: |
> >>> Google's ChromeOS EC Keyboard is a simple matrix keyboard
> >>> implemented on a separate EC (Embedded Controller) device. It provides
> >>> a message for reading key scans from the EC. These are then converted
> >>> - into keycodes for processing by the kernel.
> >>> + into keycodes for processing by the kernel. This device also supports
> >>> + switches/buttons like power and volume buttons.
> >>>
> >>> allOf:
> >>> - $ref: "/schemas/input/matrix-keymap.yaml#"
> >>>
> >>> properties:
> >>> compatible:
> >>> - const: google,cros-ec-keyb
> >>> + oneOf:
> >>> + - items:
> >>> + - const: google,cros-ec-keyb-switches
> >>> + - const: google,cros-ec-keyb
> >>> + - items:
> >>> + - const: google,cros-ec-keyb
> >>>
> >>
> >> In such case matrix-keymap properties are not valid, right? The
> >> matrix-keymap should not be referenced, IOW, you need to move allOf
> >> below "required" and add:
> >> if:not:...then: $ref: "/schemas/input/matrix-keymap.yaml
> >>
> >
> > Eventually that sounds doable, but for the time being I want to merely
> > add this new compatible in front of the original compatible so that
> > updated DTBs still work with older kernels, i.e. the switches still get
> > registered because the driver works with the original
> > google,cros-ec-keyb compatible.
>
> The bindings here do not invalidate (break) existing DTBs. Old DTBs can
> work in old way, we talk only about binding.
Ok, got it.
>
> > Given that none of the properties are
> > required for google,cros-ec-keyb it didn't seem necessary to make having
> > the google,cros-ec-keyb-switches compatible deny the existence of the
> > matrix-keymap properties.
>
> Maybe I misunderstood the commit msg. Are the
> "google,cros-ec-keyb-switches" devices coming with matrix keyboard or
> not? I mean physically.
>
The answer is "sometimes, physically". Sometimes there are switches like
volume buttons and power buttons and also a matrix keyboard (convertible
and clamshells). Other times there are volume buttons and power buttons
and no matrix keyboard (detachable). This device node represents both
the keyboard and the switches.
Unfortunately the EC firmware on older Chromebooks that don't have a
matrix keyboard still report that they have some number of columns and
rows. I was hoping to make this fully dynamic by querying the EC but
that isn't possible.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-28 16:01 ` Stephen Boyd
@ 2022-04-29 6:30 ` Krzysztof Kozlowski
0 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2022-04-29 6:30 UTC (permalink / raw)
To: Stephen Boyd, Dmitry Torokhov
Cc: linux-kernel, patches, Rob Herring, devicetree, Benson Leung,
Guenter Roeck, Douglas Anderson, Hsin-Yi Wang,
Joseph S. Barrera III
On 28/04/2022 18:01, Stephen Boyd wrote:
>>
>>> Given that none of the properties are
>>> required for google,cros-ec-keyb it didn't seem necessary to make having
>>> the google,cros-ec-keyb-switches compatible deny the existence of the
>>> matrix-keymap properties.
>>
>> Maybe I misunderstood the commit msg. Are the
>> "google,cros-ec-keyb-switches" devices coming with matrix keyboard or
>> not? I mean physically.
>>
>
> The answer is "sometimes, physically". Sometimes there are switches like
> volume buttons and power buttons and also a matrix keyboard (convertible
> and clamshells). Other times there are volume buttons and power buttons
> and no matrix keyboard (detachable). This device node represents both
> the keyboard and the switches.
>
> Unfortunately the EC firmware on older Chromebooks that don't have a
> matrix keyboard still report that they have some number of columns and
> rows. I was hoping to make this fully dynamic by querying the EC but
> that isn't possible.
OK, then it's indeed slightly different case. Let's skip my comment.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-27 20:30 ` [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible Stephen Boyd
2022-04-28 6:12 ` Krzysztof Kozlowski
@ 2022-04-29 6:31 ` Krzysztof Kozlowski
2022-04-29 16:31 ` Doug Anderson
2 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2022-04-29 6:31 UTC (permalink / raw)
To: Stephen Boyd, Dmitry Torokhov
Cc: linux-kernel, patches, Rob Herring, devicetree, Benson Leung,
Guenter Roeck, Douglas Anderson, Hsin-Yi Wang,
Joseph S. Barrera III
On 27/04/2022 22:30, Stephen Boyd wrote:
> If the device is a detachable, this device won't have a matrix keyboard
> but it may have some button switches, e.g. volume buttons and power
> buttons. Let's add a more specific compatible for this type of device
> that indicates to the OS that there are only switches and no matrix
> keyboard present.
>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: <devicetree@vger.kernel.org>
> Cc: Benson Leung <bleung@chromium.org>
> Cc: Guenter Roeck <groeck@chromium.org>
> Cc: Douglas Anderson <dianders@chromium.org>
> Cc: Hsin-Yi Wang <hsinyi@chromium.org>
> Cc: "Joseph S. Barrera III" <joebar@chromium.org>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-27 20:30 ` [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible Stephen Boyd
2022-04-28 6:12 ` Krzysztof Kozlowski
2022-04-29 6:31 ` Krzysztof Kozlowski
@ 2022-04-29 16:31 ` Doug Anderson
2022-04-29 16:35 ` Krzysztof Kozlowski
2 siblings, 1 reply; 12+ messages in thread
From: Doug Anderson @ 2022-04-29 16:31 UTC (permalink / raw)
To: Stephen Boyd
Cc: Dmitry Torokhov, LKML, patches, Krzysztof Kozlowski, Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Benson Leung, Guenter Roeck, Hsin-Yi Wang, Joseph S. Barrera III
Hi,
On Wed, Apr 27, 2022 at 1:30 PM Stephen Boyd <swboyd@chromium.org> wrote:
>
> If the device is a detachable, this device won't have a matrix keyboard
> but it may have some button switches, e.g. volume buttons and power
> buttons. Let's add a more specific compatible for this type of device
> that indicates to the OS that there are only switches and no matrix
> keyboard present.
>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: <devicetree@vger.kernel.org>
> Cc: Benson Leung <bleung@chromium.org>
> Cc: Guenter Roeck <groeck@chromium.org>
> Cc: Douglas Anderson <dianders@chromium.org>
> Cc: Hsin-Yi Wang <hsinyi@chromium.org>
> Cc: "Joseph S. Barrera III" <joebar@chromium.org>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> ---
> .../bindings/input/google,cros-ec-keyb.yaml | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> index e8f137abb03c..edc1194d558d 100644
> --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> @@ -15,14 +15,20 @@ description: |
> Google's ChromeOS EC Keyboard is a simple matrix keyboard
> implemented on a separate EC (Embedded Controller) device. It provides
> a message for reading key scans from the EC. These are then converted
> - into keycodes for processing by the kernel.
> + into keycodes for processing by the kernel. This device also supports
> + switches/buttons like power and volume buttons.
>
> allOf:
> - $ref: "/schemas/input/matrix-keymap.yaml#"
>
> properties:
> compatible:
> - const: google,cros-ec-keyb
> + oneOf:
> + - items:
> + - const: google,cros-ec-keyb-switches
> + - const: google,cros-ec-keyb
> + - items:
> + - const: google,cros-ec-keyb
nit: if I come back and read this binding later I'm not sure it would
be obvious which compatible I should pick. Can we give any description
here that indicates that the first choice is for devices that _only_
have buttons and switches (the google,cros-ec-keyb is just for
backward compatibility) and the second choice is for devices that have
a physical keyboard and _also_ possibly some buttons/switches?
I could also imagine people in the future being confused about whether
it's allowed to specify matrix properties even for devices that don't
have a matrix keyboard. It might be worth noting that it's allowed (to
support old drivers that might still be matching against the
google,cros-ec-keyb compatible) but not required.
> google,needs-ghost-filter:
> description:
> @@ -50,7 +56,7 @@ examples:
> - |
> #include <dt-bindings/input/input.h>
> cros-ec-keyb {
> - compatible = "google,cros-ec-keyb";
> + compatible = "google,cros-ec-keyb-switches", "google,cros-ec-keyb";
Feels like we should create a second example?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-29 16:31 ` Doug Anderson
@ 2022-04-29 16:35 ` Krzysztof Kozlowski
2022-04-29 19:34 ` Stephen Boyd
0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2022-04-29 16:35 UTC (permalink / raw)
To: Doug Anderson, Stephen Boyd
Cc: Dmitry Torokhov, LKML, patches, Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Benson Leung, Guenter Roeck, Hsin-Yi Wang, Joseph S. Barrera III
On 29/04/2022 18:31, Doug Anderson wrote:
>> - $ref: "/schemas/input/matrix-keymap.yaml#"
>>
>> properties:
>> compatible:
>> - const: google,cros-ec-keyb
>> + oneOf:
>> + - items:
>> + - const: google,cros-ec-keyb-switches
>> + - const: google,cros-ec-keyb
>> + - items:
>> + - const: google,cros-ec-keyb
>
> nit: if I come back and read this binding later I'm not sure it would
> be obvious which compatible I should pick. Can we give any description
> here that indicates that the first choice is for devices that _only_
> have buttons and switches (the google,cros-ec-keyb is just for
> backward compatibility) and the second choice is for devices that have
> a physical keyboard and _also_ possibly some buttons/switches?
>
> I could also imagine people in the future being confused about whether
> it's allowed to specify matrix properties even for devices that don't
> have a matrix keyboard. It might be worth noting that it's allowed (to
> support old drivers that might still be matching against the
> google,cros-ec-keyb compatible) but not required.
+1
>
>
>> google,needs-ghost-filter:
>> description:
>> @@ -50,7 +56,7 @@ examples:
>> - |
>> #include <dt-bindings/input/input.h>
>> cros-ec-keyb {
>> - compatible = "google,cros-ec-keyb";
>> + compatible = "google,cros-ec-keyb-switches", "google,cros-ec-keyb";
>
> Feels like we should create a second example?
+1 as well, because it really would confuse what's the difference
between them.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
2022-04-29 16:35 ` Krzysztof Kozlowski
@ 2022-04-29 19:34 ` Stephen Boyd
0 siblings, 0 replies; 12+ messages in thread
From: Stephen Boyd @ 2022-04-29 19:34 UTC (permalink / raw)
To: Doug Anderson, Krzysztof Kozlowski
Cc: Dmitry Torokhov, LKML, patches, Rob Herring, devicetree,
Benson Leung, Guenter Roeck, Hsin-Yi Wang, Joseph S. Barrera III
Quoting Krzysztof Kozlowski (2022-04-29 09:35:58)
> On 29/04/2022 18:31, Doug Anderson wrote:
> >> - $ref: "/schemas/input/matrix-keymap.yaml#"
> >>
> >> properties:
> >> compatible:
> >> - const: google,cros-ec-keyb
> >> + oneOf:
> >> + - items:
> >> + - const: google,cros-ec-keyb-switches
> >> + - const: google,cros-ec-keyb
> >> + - items:
> >> + - const: google,cros-ec-keyb
> >
> > nit: if I come back and read this binding later I'm not sure it would
> > be obvious which compatible I should pick. Can we give any description
> > here that indicates that the first choice is for devices that _only_
> > have buttons and switches (the google,cros-ec-keyb is just for
> > backward compatibility) and the second choice is for devices that have
> > a physical keyboard and _also_ possibly some buttons/switches?
Sounds fair. I have to figure out how to add a description to the
choices. I guess a comment is the approach?
> >
> > I could also imagine people in the future being confused about whether
> > it's allowed to specify matrix properties even for devices that don't
> > have a matrix keyboard. It might be worth noting that it's allowed (to
> > support old drivers that might still be matching against the
> > google,cros-ec-keyb compatible) but not required.
>
> +1
Sure. I'll work that into the description for the first one with two
compatibles.
>
> >
> >
> >> google,needs-ghost-filter:
> >> description:
> >> @@ -50,7 +56,7 @@ examples:
> >> - |
> >> #include <dt-bindings/input/input.h>
> >> cros-ec-keyb {
> >> - compatible = "google,cros-ec-keyb";
> >> + compatible = "google,cros-ec-keyb-switches", "google,cros-ec-keyb";
> >
> > Feels like we should create a second example?
>
> +1 as well, because it really would confuse what's the difference
> between them.
Ok.
^ permalink raw reply [flat|nested] 12+ messages in thread