aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/stmpe.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mfd/stmpe.h')
-rw-r--r--include/linux/mfd/stmpe.h38
1 files changed, 2 insertions, 36 deletions
diff --git a/include/linux/mfd/stmpe.h b/include/linux/mfd/stmpe.h
index 575a86c7fcbd..c9d869027300 100644
--- a/include/linux/mfd/stmpe.h
+++ b/include/linux/mfd/stmpe.h
@@ -50,6 +50,8 @@ enum {
50 STMPE_IDX_GPEDR_MSB, 50 STMPE_IDX_GPEDR_MSB,
51 STMPE_IDX_GPRER_LSB, 51 STMPE_IDX_GPRER_LSB,
52 STMPE_IDX_GPFER_LSB, 52 STMPE_IDX_GPFER_LSB,
53 STMPE_IDX_GPPUR_LSB,
54 STMPE_IDX_GPPDR_LSB,
53 STMPE_IDX_GPAFR_U_MSB, 55 STMPE_IDX_GPAFR_U_MSB,
54 STMPE_IDX_IEGPIOR_LSB, 56 STMPE_IDX_IEGPIOR_LSB,
55 STMPE_IDX_ISGPIOR_LSB, 57 STMPE_IDX_ISGPIOR_LSB,
@@ -113,41 +115,9 @@ extern int stmpe_set_altfunc(struct stmpe *stmpe, u32 pins,
113extern int stmpe_enable(struct stmpe *stmpe, unsigned int blocks); 115extern int stmpe_enable(struct stmpe *stmpe, unsigned int blocks);
114extern int stmpe_disable(struct stmpe *stmpe, unsigned int blocks); 116extern int stmpe_disable(struct stmpe *stmpe, unsigned int blocks);
115 117
116struct matrix_keymap_data;
117
118/**
119 * struct stmpe_keypad_platform_data - STMPE keypad platform data
120 * @keymap_data: key map table and size
121 * @debounce_ms: debounce interval, in ms. Maximum is
122 * %STMPE_KEYPAD_MAX_DEBOUNCE.
123 * @scan_count: number of key scanning cycles to confirm key data.
124 * Maximum is %STMPE_KEYPAD_MAX_SCAN_COUNT.
125 * @no_autorepeat: disable key autorepeat
126 */
127struct stmpe_keypad_platform_data {
128 const struct matrix_keymap_data *keymap_data;
129 unsigned int debounce_ms;
130 unsigned int scan_count;
131 bool no_autorepeat;
132};
133
134#define STMPE_GPIO_NOREQ_811_TOUCH (0xf0) 118#define STMPE_GPIO_NOREQ_811_TOUCH (0xf0)
135 119
136/** 120/**
137 * struct stmpe_gpio_platform_data - STMPE GPIO platform data
138 * @norequest_mask: bitmask specifying which GPIOs should _not_ be
139 * requestable due to different usage (e.g. touch, keypad)
140 * STMPE_GPIO_NOREQ_* macros can be used here.
141 * @setup: board specific setup callback.
142 * @remove: board specific remove callback
143 */
144struct stmpe_gpio_platform_data {
145 unsigned norequest_mask;
146 void (*setup)(struct stmpe *stmpe, unsigned gpio_base);
147 void (*remove)(struct stmpe *stmpe, unsigned gpio_base);
148};
149
150/**
151 * struct stmpe_ts_platform_data - stmpe811 touch screen controller platform 121 * struct stmpe_ts_platform_data - stmpe811 touch screen controller platform
152 * data 122 * data
153 * @sample_time: ADC converstion time in number of clock. 123 * @sample_time: ADC converstion time in number of clock.
@@ -198,8 +168,6 @@ struct stmpe_ts_platform_data {
198 * @irq_over_gpio: true if gpio is used to get irq 168 * @irq_over_gpio: true if gpio is used to get irq
199 * @irq_gpio: gpio number over which irq will be requested (significant only if 169 * @irq_gpio: gpio number over which irq will be requested (significant only if
200 * irq_over_gpio is true) 170 * irq_over_gpio is true)
201 * @gpio: GPIO-specific platform data
202 * @keypad: keypad-specific platform data
203 * @ts: touchscreen-specific platform data 171 * @ts: touchscreen-specific platform data
204 */ 172 */
205struct stmpe_platform_data { 173struct stmpe_platform_data {
@@ -211,8 +179,6 @@ struct stmpe_platform_data {
211 int irq_gpio; 179 int irq_gpio;
212 int autosleep_timeout; 180 int autosleep_timeout;
213 181
214 struct stmpe_gpio_platform_data *gpio;
215 struct stmpe_keypad_platform_data *keypad;
216 struct stmpe_ts_platform_data *ts; 182 struct stmpe_ts_platform_data *ts;
217}; 183};
218 184