| Age | Commit message (Collapse) | Author | Files | Lines |
|
We now have a binding which adds two parameters to the matrix keypad DT
node. This is separate from the GPIO-driven matrix keypad binding, and
unfortunately incompatible, since that uses row-gpios/col-gpios for the
row and column counts.
So the easiest option here is to provide a function for non-GPIO drivers
to use to decode the binding.
Note: We could in fact create an entirely separate structure to hold
these two fields, but it does not seem worth it, yet. If we have more
parameters then we can add this, and then refactor each driver to hold
such a structure.
Signed-off-by: Simon Glass <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Tested-by: Sourav Poddar <[email protected]> (v2)
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
When platform keymap is not supplied to matrix_keypad_build_keymap()
and device tree support is enabled, try locating specified property
and load keymap from it. If property name is not defined, try using
"linux,keymap".
Based on earlier patch by Viresh Kumar <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Change matrix-keymap helper to be out-of-line, like sparse keymap,
allow the helper perform basic keymap validation and return errors,
and prepare for device tree support.
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
This adds a simple device tree binding for simple key matrix data and
a helper to fill in the platform data.
Signed-off-by: Olof Johansson <[email protected]>
Acked-by: Stephen Warren <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: matrix_keypad - increase the limit of rows and columns
Input: wacom - fix error path in wacom_probe()
Input: ads7846 - check proper condition when freeing gpio
Revert "Input: do not pass injected events back to the originating handler"
Input: sysrq - rework re-inject logic
Input: serio - clear pending rescans after sysfs driver rebind
Input: rotary_encoder - use proper irqflags
Input: wacom_w8001 - report resolution to userland
|
|
Some keyboard controllers support more than 16 columns and rows.
Increase the limit to 32.
Signed-off-by: Trilok Soni <[email protected]>
Acked-by: Eric Miao <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Most keypad drivers make use of the <linux/input/matrix_keypad.h>
defined macros, structures and inline functions.
Convert omap-keypad driver to use those as well, as suggested by a
compile time warning, hardcoded into the OMAP <palt/keypad.h>.
Created against linux-2.6.37-rc5.
Tested on Amstrad Delta.
Compile tested with omap1_defconfig and omap2plus_defconfig shrinked to
board-h4.
Signed-off-by: Janusz Krzysztofik <[email protected]>
Reviewed-by: Aaro Koskinen <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
|
|
This one adds support of a combined irq source for the whole matrix keypad.
This can be useful if all rows and columns of the keypad are e.g. connected
to a GPIO expander, which only has one interrupt line for all events on
every single GPIO.
Signed-off-by: Luotao Fu <[email protected]>
Acked-by: Eric Miao <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
In an embedded system the matrix_keypad driver might be used to
interface with an external control panel and not an actual keyboard.
On the control panel some of the keys could be used to turn on/off
various functions. If key autorepeat is enabled this causes the
function to quickly toggle between the on and off states and makes
operation difficult.
Add an option in the platform-specific data to disable the key
autorepeat.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Make sure that polled input device and matrix keypad APIs are included
with the rest of input API when generating kernel documentation. Also
description of absres was missing as well.
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Remove assumption on the shift and size of rows/columns form
matrix_keypad driver.
Signed-off-by: Eric Miao <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Original patch by Marek Vasut, modified by Eric in:
1. use delayed work to simplify the debouncing
2. combine col_polarity/row_polarity into a single active_low field
3. use a generic bit array based XOR algorithm to detect key
press/release, which should make the column assertion time
shorter and code a bit cleaner
4. remove the ALT_FN handling, which is no way generic, the ALT_FN
key should be treated as no different from other keys, and
translation will be done by user space by commands like 'loadkeys'.
5. explicitly disable row IRQs and flush potential pending work,
and schedule an immediate scan after resuming as suggested
by Uli Luckas
6. incorporate review comments from many others
Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad
controller, I have to configure those pins as generic GPIO to use this
driver, works quite well, though), and Sharp Zaurus model SL-C7x0
and SL-C1000.
[[email protected]: fix error unwinding path, support changing keymap
from userspace]
Signed-off-by: Marek Vasut <[email protected]>
Reviewed-by: Trilok Soni <[email protected]>
Reviewed-by: Uli Luckas <[email protected]>
Reviewed-by: Russell King <[email protected]>
Reviewed-by: Robert Jarzmik <[email protected]>
Signed-off-by: Eric Miao <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|