aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/input
diff options
context:
space:
mode:
authorDavid Rivshin <DRivshin@allworx.com>2017-03-29 03:14:16 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-03-29 03:25:01 -0400
commitaa0e26bb786b00eaa897e024769e299470815efe (patch)
treea95bbc7ed4797ae83db244ac40561cd7a5e31d20 /include/linux/input
parent4896fb1348713344abbd9f692b393b5fdc539bf8 (diff)
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>
Diffstat (limited to 'include/linux/input')
-rw-r--r--include/linux/input/matrix_keypad.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/input/matrix_keypad.h b/include/linux/input/matrix_keypad.h
index 37b04a0fdea4..6174733a57eb 100644
--- a/include/linux/input/matrix_keypad.h
+++ b/include/linux/input/matrix_keypad.h
@@ -49,6 +49,8 @@ struct matrix_keymap_data {
49 * @wakeup: controls whether the device should be set up as wakeup 49 * @wakeup: controls whether the device should be set up as wakeup
50 * source 50 * source
51 * @no_autorepeat: disable key autorepeat 51 * @no_autorepeat: disable key autorepeat
52 * @drive_inactive_cols: drive inactive columns during scan, rather than
53 * making them inputs.
52 * 54 *
53 * This structure represents platform-specific data that use used by 55 * This structure represents platform-specific data that use used by
54 * matrix_keypad driver to perform proper initialization. 56 * matrix_keypad driver to perform proper initialization.
@@ -73,6 +75,7 @@ struct matrix_keypad_platform_data {
73 bool active_low; 75 bool active_low;
74 bool wakeup; 76 bool wakeup;
75 bool no_autorepeat; 77 bool no_autorepeat;
78 bool drive_inactive_cols;
76}; 79};
77 80
78int matrix_keypad_build_keymap(const struct matrix_keymap_data *keymap_data, 81int matrix_keypad_build_keymap(const struct matrix_keymap_data *keymap_data,