diff mbox series

dt-bindings: input: matrix-keymap: Add common 'linux,no-autorepeat' property

Message ID 20220523170449.1763039-1-robh@kernel.org (mailing list archive)
State New, archived
Headers show
Series dt-bindings: input: matrix-keymap: Add common 'linux,no-autorepeat' property | expand

Commit Message

Rob Herring May 23, 2022, 5:04 p.m. UTC
'linux,no-autorepeat' is a common property used in multiple bindings,
but doesn't have a common type definition nor description. Add a common
definition and drop the now redundant description from
holtek,ht16k33.yaml.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/auxdisplay/holtek,ht16k33.yaml        | 3 +--
 Documentation/devicetree/bindings/input/matrix-keymap.yaml    | 4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

Comments

Dmitry Torokhov May 23, 2022, 6:47 p.m. UTC | #1
On Mon, May 23, 2022 at 12:04:49PM -0500, Rob Herring wrote:
> 'linux,no-autorepeat' is a common property used in multiple bindings,
> but doesn't have a common type definition nor description. Add a common
> definition and drop the now redundant description from
> holtek,ht16k33.yaml.

We have "autorepeat" in the common input binding description, should we
not promote it over "no-autorepeat"?

Thanks.
Rob Herring May 23, 2022, 7:45 p.m. UTC | #2
On Mon, May 23, 2022 at 11:47:01AM -0700, Dmitry Torokhov wrote:
> On Mon, May 23, 2022 at 12:04:49PM -0500, Rob Herring wrote:
> > 'linux,no-autorepeat' is a common property used in multiple bindings,
> > but doesn't have a common type definition nor description. Add a common
> > definition and drop the now redundant description from
> > holtek,ht16k33.yaml.
> 
> We have "autorepeat" in the common input binding description, should we
> not promote it over "no-autorepeat"?

We're kind of stuck with it I think. We can't just deprecate one and 
switch existing users as what would neither property present mean?

Hopefully, documented in input.yaml vs. matrix-keypad.yaml is enough to 
say which one is preferred for new users. 

Rob
Dmitry Torokhov May 23, 2022, 10:02 p.m. UTC | #3
On Mon, May 23, 2022 at 02:45:03PM -0500, Rob Herring wrote:
> On Mon, May 23, 2022 at 11:47:01AM -0700, Dmitry Torokhov wrote:
> > On Mon, May 23, 2022 at 12:04:49PM -0500, Rob Herring wrote:
> > > 'linux,no-autorepeat' is a common property used in multiple bindings,
> > > but doesn't have a common type definition nor description. Add a common
> > > definition and drop the now redundant description from
> > > holtek,ht16k33.yaml.
> > 
> > We have "autorepeat" in the common input binding description, should we
> > not promote it over "no-autorepeat"?
> 
> We're kind of stuck with it I think. We can't just deprecate one and 
> switch existing users as what would neither property present mean?

I agree, we should not change existng bindings.

> 
> Hopefully, documented in input.yaml vs. matrix-keypad.yaml is enough to 
> say which one is preferred for new users. 

So this is what I have issue with, as I think it will introduce
confusion: we have drivers/input/matrix-keymap.c and corresponding
binding Documentation/devicetree/bindings/input/matrix-keymap.yaml that
deals with parsing keymap-related properties for various matrix keypads.
It does not specify autorepeat handling one way or another. Then we have
drivers/input/keyboard/matrix_keypad.c that is one implementation of
matrix keypads, and it does have linux,no-autorepeat, but it does not
mean that other devices resembling matrix keypad are forced to use
linux,no-autorepeat. And that is why I think putting this property into
the generic binding
Documentation/devicetree/bindings/input/matrix-keymap.yaml is not a good
idea.

Thanks.
Rob Herring May 24, 2022, 1:31 p.m. UTC | #4
On Mon, May 23, 2022 at 03:02:42PM -0700, Dmitry Torokhov wrote:
> On Mon, May 23, 2022 at 02:45:03PM -0500, Rob Herring wrote:
> > On Mon, May 23, 2022 at 11:47:01AM -0700, Dmitry Torokhov wrote:
> > > On Mon, May 23, 2022 at 12:04:49PM -0500, Rob Herring wrote:
> > > > 'linux,no-autorepeat' is a common property used in multiple bindings,
> > > > but doesn't have a common type definition nor description. Add a common
> > > > definition and drop the now redundant description from
> > > > holtek,ht16k33.yaml.
> > > 
> > > We have "autorepeat" in the common input binding description, should we
> > > not promote it over "no-autorepeat"?
> > 
> > We're kind of stuck with it I think. We can't just deprecate one and 
> > switch existing users as what would neither property present mean?
> 
> I agree, we should not change existng bindings.
> 
> > 
> > Hopefully, documented in input.yaml vs. matrix-keypad.yaml is enough to 
> > say which one is preferred for new users. 
> 
> So this is what I have issue with, as I think it will introduce
> confusion: we have drivers/input/matrix-keymap.c and corresponding
> binding Documentation/devicetree/bindings/input/matrix-keymap.yaml that
> deals with parsing keymap-related properties for various matrix keypads.
> It does not specify autorepeat handling one way or another. Then we have
> drivers/input/keyboard/matrix_keypad.c that is one implementation of
> matrix keypads, and it does have linux,no-autorepeat, but it does not
> mean that other devices resembling matrix keypad are forced to use
> linux,no-autorepeat. And that is why I think putting this property into
> the generic binding
> Documentation/devicetree/bindings/input/matrix-keymap.yaml is not a good
> idea.

You are right. As it looks like there are only 3 users of 
linux,no-autorepeat, we can live with multiple definitions. Looks like 
we have a variety of other autorepeat properties too.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml b/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml
index fc4873deb76f..f4579e9f44a1 100644
--- a/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml
+++ b/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml
@@ -39,8 +39,7 @@  properties:
 
   linux,keymap: true
 
-  linux,no-autorepeat:
-    description: Disable keyrepeat
+  linux,no-autorepeat: true
 
   default-brightness-level:
     minimum: 1
diff --git a/Documentation/devicetree/bindings/input/matrix-keymap.yaml b/Documentation/devicetree/bindings/input/matrix-keymap.yaml
index 6699d5e32dca..9f703bb51e12 100644
--- a/Documentation/devicetree/bindings/input/matrix-keymap.yaml
+++ b/Documentation/devicetree/bindings/input/matrix-keymap.yaml
@@ -27,6 +27,10 @@  properties:
       column and linux key-code. The 32-bit big endian cell is packed as:
           row << 24 | column << 16 | key-code
 
+  linux,no-autorepeat:
+    type: boolean
+    description: Disable keyrepeat
+
   keypad,num-rows:
     $ref: /schemas/types.yaml#/definitions/uint32
     description: Number of row lines connected to the keypad controller.