diff options
author | Nick Dyer <nick.dyer@itdev.co.uk> | 2014-05-19 02:00:15 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2014-05-19 02:27:22 -0400 |
commit | fb5e4c3ee140b29e1935b4bbb19c319177bed231 (patch) | |
tree | 8b633294e2d56e39f61dd88733dbbd9bd8a5e9c4 /drivers/platform | |
parent | 2cefdb1f0a27150755ef2730bafc58bf2ed16571 (diff) |
Input: atmel_mxt_ts - improve T19 GPIO keys handling
* The mapping of the GPIO numbers into the T19 status byte varies between
different maXTouch chips. Some have up to 7 GPIOs. Allowing a keycode array
of up to 8 items is simpler and more generic. So replace #define with
configurable number of keys which also allows the removal of is_tp.
* Rename platform data parameters to include "t19" to prevent confusion with
T15 key array.
* Probe aborts early on when pdata is NULL, so no need to check.
* Move "int i" to beginning of function (mixed declarations and code)
* Use API calls rather than __set_bit()
* Remove unused dev variable.
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Yufeng Shen <miletus@chromium.org>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/chrome/chromeos_laptop.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/platform/chrome/chromeos_laptop.c b/drivers/platform/chrome/chromeos_laptop.c index 2559a0407c58..8b7523ab62e5 100644 --- a/drivers/platform/chrome/chromeos_laptop.c +++ b/drivers/platform/chrome/chromeos_laptop.c | |||
@@ -84,16 +84,22 @@ static struct i2c_board_info tsl2563_als_device = { | |||
84 | I2C_BOARD_INFO("tsl2563", TAOS_ALS_I2C_ADDR), | 84 | I2C_BOARD_INFO("tsl2563", TAOS_ALS_I2C_ADDR), |
85 | }; | 85 | }; |
86 | 86 | ||
87 | static int mxt_t19_keys[] = { | ||
88 | KEY_RESERVED, | ||
89 | KEY_RESERVED, | ||
90 | KEY_RESERVED, | ||
91 | KEY_RESERVED, | ||
92 | KEY_RESERVED, | ||
93 | BTN_LEFT | ||
94 | }; | ||
95 | |||
87 | static struct mxt_platform_data atmel_224s_tp_platform_data = { | 96 | static struct mxt_platform_data atmel_224s_tp_platform_data = { |
88 | .x_size = 102*20, | 97 | .x_size = 102*20, |
89 | .y_size = 68*20, | 98 | .y_size = 68*20, |
90 | .orient = MXT_VERTICAL_FLIP, | 99 | .orient = MXT_VERTICAL_FLIP, |
91 | .irqflags = IRQF_TRIGGER_FALLING, | 100 | .irqflags = IRQF_TRIGGER_FALLING, |
92 | .is_tp = true, | 101 | .t19_num_keys = ARRAY_SIZE(mxt_t19_keys), |
93 | .key_map = { KEY_RESERVED, | 102 | .t19_keymap = mxt_t19_keys, |
94 | KEY_RESERVED, | ||
95 | KEY_RESERVED, | ||
96 | BTN_LEFT }, | ||
97 | .config = NULL, | 103 | .config = NULL, |
98 | .config_length = 0, | 104 | .config_length = 0, |
99 | }; | 105 | }; |
@@ -109,7 +115,6 @@ static struct mxt_platform_data atmel_1664s_platform_data = { | |||
109 | .y_size = 2560, | 115 | .y_size = 2560, |
110 | .orient = MXT_ROTATED_90_COUNTER, | 116 | .orient = MXT_ROTATED_90_COUNTER, |
111 | .irqflags = IRQF_TRIGGER_FALLING, | 117 | .irqflags = IRQF_TRIGGER_FALLING, |
112 | .is_tp = false, | ||
113 | .config = NULL, | 118 | .config = NULL, |
114 | .config_length = 0, | 119 | .config_length = 0, |
115 | }; | 120 | }; |