* [PATCH] RFC: input: Extend matrix-keypad device tree binding
@ 2012-12-20 20:23 Simon Glass
2012-12-20 21:03 ` Stephen Warren
2012-12-20 21:13 ` Dmitry Torokhov
0 siblings, 2 replies; 5+ messages in thread
From: Simon Glass @ 2012-12-20 20:23 UTC (permalink / raw)
To: LKML
Cc: Simon Glass, linux-input, Rob Landley, Grant Likely,
devicetree-discuss, Roland Stigge, linux-doc, Vincent Palatin,
Wolfram Sang, Dmitry Torokhov, Felipe Balbi, Sourav Poddar,
Luigi Semenzato, Olof Johansson, Rob Herring, Dmitry Torokhov,
Stephen Warren
Some matrix keypad drivers can support different numbers of rows and
columns. Add a generic binding for these.
Also define properties for the repeat rate, to allow a sane baseline to
be set up for the driver.
Implementation note:
In order to implement this binding in the kernel, we will need to modify
matrix_keypad_() to look up the number of rows and cols in
the keymap. Perhaps this could be done by passing 0 for these parameters?
Many of the parameters can already be set to NULL. Ick.
For the key repeat feature, we need to set this after the input device
is registered. So we would need to add a matrix_keypad_setup_input() or
similar to be called by the driver after input_register_device(). I am
less keen on that idea, and less again on the alternative of perhaps
matrix_keypad_register_device() which does input_register_device() and
then sets up the key repeat. Thoughts?
Signed-off-by: Simon Glass <sjg@chromium.org>
---
.../devicetree/bindings/input/matrix-keymap.txt | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/Documentation/devicetree/bindings/input/matrix-keymap.txt b/Documentation/devicetree/bindings/input/matrix-keymap.txt
index 3cd8b98..b953d27 100644
--- a/Documentation/devicetree/bindings/input/matrix-keymap.txt
+++ b/Documentation/devicetree/bindings/input/matrix-keymap.txt
@@ -9,6 +9,16 @@ Required properties:
row << 24 | column << 16 | key-code
Optional properties:
+Properties for the number of rows and columns are optional because some
+drivers will use fixed values for these.
+- keypad,num-rows: Number of row lines connected to the keypad controller.
+- keypad,num-columns: Number of column lines connected to the keypad
+ controller.
+- keypad,repeat-delay-ms: Number of milliseconds of delay before the first
+ keyboard repeat when a key is held down.
+- keypad,repeat-rate-ms: Number of milliseconds between each subsequent
+ keyboard repeat when a key is held down.
+
Some users of this binding might choose to specify secondary keymaps for
cases where there is a modifier key such as a Fn key. Proposed names
for said properties are "linux,fn-keymap" or with another descriptive
@@ -17,3 +27,7 @@ word for the modifier other from "Fn".
Example:
linux,keymap = < 0x00030012
0x0102003a >;
+ keypad,num-rows = <2>;
+ keypad,num-columns = <8>;
+ keypad,repeat-delay-ms = <600>;
+ keypad,repeat-rate-ms = <60>;
--
1.7.7.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] RFC: input: Extend matrix-keypad device tree binding
2012-12-20 20:23 [PATCH] RFC: input: Extend matrix-keypad device tree binding Simon Glass
@ 2012-12-20 21:03 ` Stephen Warren
2012-12-20 21:13 ` Dmitry Torokhov
1 sibling, 0 replies; 5+ messages in thread
From: Stephen Warren @ 2012-12-20 21:03 UTC (permalink / raw)
To: Simon Glass
Cc: LKML, Roland Stigge, Vincent Palatin, linux-doc, Dmitry Torokhov,
Dmitry Torokhov, Wolfram Sang, Felipe Balbi, Luigi Semenzato,
Rob Herring, linux-input, Stephen Warren, Sourav Poddar,
devicetree-discuss
On 12/20/2012 01:23 PM, Simon Glass wrote:
> Some matrix keypad drivers can support different numbers of rows and
> columns. Add a generic binding for these.
Oh, I thought num-rows/columns were already there!
Anyway, looks fine to me, so,
Reviewed-by: Stephen Warren <swarren@nvidia.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] RFC: input: Extend matrix-keypad device tree binding
2012-12-20 20:23 [PATCH] RFC: input: Extend matrix-keypad device tree binding Simon Glass
2012-12-20 21:03 ` Stephen Warren
@ 2012-12-20 21:13 ` Dmitry Torokhov
2012-12-20 21:41 ` Simon Glass
1 sibling, 1 reply; 5+ messages in thread
From: Dmitry Torokhov @ 2012-12-20 21:13 UTC (permalink / raw)
To: Simon Glass
Cc: LKML, linux-input, Rob Landley, Grant Likely, devicetree-discuss,
Roland Stigge, linux-doc, Vincent Palatin, Wolfram Sang,
Felipe Balbi, Sourav Poddar, Luigi Semenzato, Olof Johansson,
Rob Herring, Stephen Warren
Hi Simon,
On Thu, Dec 20, 2012 at 12:23:58PM -0800, Simon Glass wrote:
>
> For the key repeat feature, we need to set this after the input device
> is registered. So we would need to add a matrix_keypad_setup_input() or
> similar to be called by the driver after input_register_device(). I am
> less keen on that idea, and less again on the alternative of perhaps
> matrix_keypad_register_device() which does input_register_device() and
> then sets up the key repeat. Thoughts?
No, we already have default rate and delay. Unless you can prove that
random firmware writer's idea of appropriate delay and rate is better
then current default - for everyone - and then can successfully argue
that that obviously best delay/rate combo should not replace the current
one but stay only in DT bindings, let's keep relying on users adjusting
their own preferences from respective desktop environments/console/etc.
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] RFC: input: Extend matrix-keypad device tree binding
2012-12-20 21:13 ` Dmitry Torokhov
@ 2012-12-20 21:41 ` Simon Glass
2012-12-21 16:47 ` Rob Herring
0 siblings, 1 reply; 5+ messages in thread
From: Simon Glass @ 2012-12-20 21:41 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: LKML, linux-input@vger.kernel.org, Rob Landley, Grant Likely,
Devicetree Discuss, Roland Stigge, linux-doc, Vincent Palatin,
Wolfram Sang, Felipe Balbi, Sourav Poddar, Luigi Semenzato,
Olof Johansson, Rob Herring, Stephen Warren
Hi Dmitry,
On Thu, Dec 20, 2012 at 1:13 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> Hi Simon,
>
> On Thu, Dec 20, 2012 at 12:23:58PM -0800, Simon Glass wrote:
>>
>> For the key repeat feature, we need to set this after the input device
>> is registered. So we would need to add a matrix_keypad_setup_input() or
>> similar to be called by the driver after input_register_device(). I am
>> less keen on that idea, and less again on the alternative of perhaps
>> matrix_keypad_register_device() which does input_register_device() and
>> then sets up the key repeat. Thoughts?
>
> No, we already have default rate and delay. Unless you can prove that
> random firmware writer's idea of appropriate delay and rate is better
> then current default - for everyone - and then can successfully argue
> that that obviously best delay/rate combo should not replace the current
> one but stay only in DT bindings, let's keep relying on users adjusting
> their own preferences from respective desktop environments/console/etc.
Seems reasonable. My only comment on this is that the device tree
comes from kernel, not firmware. This lets us configure an embedded
system easily (where the user may not have access to repeat rate
preferences).
Grant are you OK with me just dropping the repeat settings, and
keeping the other two? If so I will respin the patch.
Regards,
Simon
>
> Thanks.
>
> --
> Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] RFC: input: Extend matrix-keypad device tree binding
2012-12-20 21:41 ` Simon Glass
@ 2012-12-21 16:47 ` Rob Herring
0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2012-12-21 16:47 UTC (permalink / raw)
To: Simon Glass
Cc: Dmitry Torokhov, Roland Stigge, Vincent Palatin, linux-doc,
Devicetree Discuss, LKML, Felipe Balbi, Wolfram Sang,
Luigi Semenzato, Rob Herring, linux-input@vger.kernel.org,
Stephen Warren, Sourav Poddar
On 12/20/2012 03:41 PM, Simon Glass wrote:
> Hi Dmitry,
>
> On Thu, Dec 20, 2012 at 1:13 PM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
>> Hi Simon,
>>
>> On Thu, Dec 20, 2012 at 12:23:58PM -0800, Simon Glass wrote:
>>>
>>> For the key repeat feature, we need to set this after the input device
>>> is registered. So we would need to add a matrix_keypad_setup_input() or
>>> similar to be called by the driver after input_register_device(). I am
>>> less keen on that idea, and less again on the alternative of perhaps
>>> matrix_keypad_register_device() which does input_register_device() and
>>> then sets up the key repeat. Thoughts?
>>
>> No, we already have default rate and delay. Unless you can prove that
>> random firmware writer's idea of appropriate delay and rate is better
>> then current default - for everyone - and then can successfully argue
>> that that obviously best delay/rate combo should not replace the current
>> one but stay only in DT bindings, let's keep relying on users adjusting
>> their own preferences from respective desktop environments/console/etc.
>
> Seems reasonable. My only comment on this is that the device tree
> comes from kernel, not firmware. This lets us configure an embedded
> system easily (where the user may not have access to repeat rate
> preferences).
Maybe for your case, but in general the DT is not tied to the kernel.
> Grant are you OK with me just dropping the repeat settings, and
> keeping the other two? If so I will respin the patch.
>
One comment is these properties are already defined for omap. You should
delete them from omap-keypad.txt and refer to this.
Rob
> Regards,
> Simon
>
>>
>> Thanks.
>>
>> --
>> Dmitry
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-12-21 16:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-20 20:23 [PATCH] RFC: input: Extend matrix-keypad device tree binding Simon Glass
2012-12-20 21:03 ` Stephen Warren
2012-12-20 21:13 ` Dmitry Torokhov
2012-12-20 21:41 ` Simon Glass
2012-12-21 16:47 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).