[PATCH v5 2/2] input: samsung-keypad: Add device tree support
Olof Johansson
olof at lixom.net
Wed Dec 28 02:28:38 EST 2011
Hi,
I came across this searching for other proposed device tree bindings
based on what I wanted to do for Tegra.
Comments below.
On Mon, Oct 10, 2011 at 9:29 AM, Thomas Abraham
<thomas.abraham at linaro.org> wrote:
> +- Keys represented as child nodes: Each key connected to the keypad
> + controller is represented as a child node to the keypad controller
> + device node and should include the following properties.
> + - keypad,row: the row number to which the key is connected.
> + - keypad,column: the column number to which the key is connected.
> + - linux,code: the key-code to be reported when the key is pressed
> + and released.
[...]
> + key_1 {
> + keypad,row = <0>;
> + keypad,column = <3>;
> + linux,code = <2>;
> + };
> +
> + key_2 {
> + keypad,row = <0>;
> + keypad,column = <4>;
> + linux,code = <3>;
> + };
> +
> + key_3 {
> + keypad,row = <0>;
> + keypad,column = <5>;
> + linux,code = <4>;
> + };
The above is good if all you want to specify is a few keys. If you
want a full keyboard specification, it gets very verbose.
I would prefer a simpler binding, something along the lines of:
linux,keymap = < row col code ... >;
Where it's just an array of the above, so your example would be:
linux,keymap = < 0 3 2
0 4 3
0 5 4 >;
Same amount of data, it would be more or less as easy to read but a
_much_ more compact representation when you need to provide 100+ keys.
-Olof
More information about the linux-arm-kernel
mailing list