Re: [PATCH] dt-bindings: input: matrix-keymap: Add common 'linux,no-autorepeat' property

From: Rob Herring
Date: Tue May 24 2022 - 09:31:24 EST


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