[PATCH 2/2] input: samsung-keypad: Add device tree support
grant.likely at secretlab.ca
Wed Sep 14 15:10:47 EDT 2011
On Wed, Sep 14, 2011 at 12:09 PM, Thomas Abraham
<thomas.abraham at linaro.org> wrote:
> On 14 September 2011 22:43, Grant Likely <grant.likely at secretlab.ca> wrote:
>> On Wed, Sep 14, 2011 at 10:19:22PM +0530, Thomas Abraham wrote:
>>> On 14 September 2011 21:41, Grant Likely <grant.likely at secretlab.ca> wrote:
>>> > On Tue, Sep 13, 2011 at 05:56:19PM +0530, Thomas Abraham 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.
>>> >> + - keypad,key-code: the key-code to be reported when the key is pressed
>>> >> + and released.
>>> > What defines the meanings of the key codes?
>>> The key-code could be any value which the system would want the keypad
>>> driver to report when that key is pressed.
>> Are they linux keycodes? If so, then this property name can
>> probably be linux,code. There is already precedence for that
>> usage in Documentation/devicetree/bindings/gpio/gpio-keys.txt. (I
>> would personally prefer "linux,key-code", but sometimes it is better
>> to go with existing precidence) You could also use linux,input-type as
>> specified in that binding.
> Ok. For linux, "keypad,key-code" would mean linux keycodes. The
> property name 'keypad,key-code' was chosen since it can be reused on
> non-linux platforms as well. I did have a look at
> Documentation/devicetree/bindings/gpio/gpio-keys.txt while doing this,
> but preferred using 'keypad,key-code' since it would be generic. Given
> a choice, I would like to retain this.
This was debated a bit on the gpio-keys binding. The binding *must*
specify where it is getting the keycodes from. For the gpio-keys
binding, it was decided that the Linux keycodes were sufficient since
they are exported to userspace, and therefore part of the stable
kernel ABI (they will never change). "keypad,key-code" is completely
useless as a generic binding since it doesn't specify where the
keycode meanings come from. Besides, "linux,code" can be reused on
non-linux platforms too, it just means that the authoritative source
of the keycodes is the Linux kernel.
More information about the linux-arm-kernel