Input: matrix_keypad - add option to drive inactive columns

The gpio-matrix-keypad driver normally sets inactive columns as inputs
while scanning. This does not work for all hardware, which may require
the inactive columns to be actively driven in order to overcome any
pull-ups/downs on the columns.

Signed-off-by: David Rivshin <drivshin@allworx.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
David Rivshin 2017-03-29 00:14:16 -07:00 committed by Dmitry Torokhov
parent 4896fb1348
commit aa0e26bb78
3 changed files with 14 additions and 4 deletions

View file

@ -49,6 +49,8 @@ struct matrix_keymap_data {
* @wakeup: controls whether the device should be set up as wakeup
* source
* @no_autorepeat: disable key autorepeat
* @drive_inactive_cols: drive inactive columns during scan, rather than
* making them inputs.
*
* This structure represents platform-specific data that use used by
* matrix_keypad driver to perform proper initialization.
@ -73,6 +75,7 @@ struct matrix_keypad_platform_data {
bool active_low;
bool wakeup;
bool no_autorepeat;
bool drive_inactive_cols;
};
int matrix_keypad_build_keymap(const struct matrix_keymap_data *keymap_data,