diff options
Diffstat (limited to 'include/linux/mfd/stmpe.h')
-rw-r--r-- | include/linux/mfd/stmpe.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/linux/mfd/stmpe.h b/include/linux/mfd/stmpe.h index be1af7c42e57..ca1d7a347600 100644 --- a/include/linux/mfd/stmpe.h +++ b/include/linux/mfd/stmpe.h | |||
@@ -20,6 +20,8 @@ enum stmpe_block { | |||
20 | }; | 20 | }; |
21 | 21 | ||
22 | enum stmpe_partnum { | 22 | enum stmpe_partnum { |
23 | STMPE610, | ||
24 | STMPE801, | ||
23 | STMPE811, | 25 | STMPE811, |
24 | STMPE1601, | 26 | STMPE1601, |
25 | STMPE2401, | 27 | STMPE2401, |
@@ -50,17 +52,20 @@ enum { | |||
50 | 52 | ||
51 | 53 | ||
52 | struct stmpe_variant_info; | 54 | struct stmpe_variant_info; |
55 | struct stmpe_client_info; | ||
53 | 56 | ||
54 | /** | 57 | /** |
55 | * struct stmpe - STMPE MFD structure | 58 | * struct stmpe - STMPE MFD structure |
56 | * @lock: lock protecting I/O operations | 59 | * @lock: lock protecting I/O operations |
57 | * @irq_lock: IRQ bus lock | 60 | * @irq_lock: IRQ bus lock |
58 | * @dev: device, mostly for dev_dbg() | 61 | * @dev: device, mostly for dev_dbg() |
59 | * @i2c: i2c client | 62 | * @client: client - i2c or spi |
63 | * @ci: client specific information | ||
60 | * @partnum: part number | 64 | * @partnum: part number |
61 | * @variant: the detected STMPE model number | 65 | * @variant: the detected STMPE model number |
62 | * @regs: list of addresses of registers which are at different addresses on | 66 | * @regs: list of addresses of registers which are at different addresses on |
63 | * different variants. Indexed by one of STMPE_IDX_*. | 67 | * different variants. Indexed by one of STMPE_IDX_*. |
68 | * @irq: irq number for stmpe | ||
64 | * @irq_base: starting IRQ number for internal IRQs | 69 | * @irq_base: starting IRQ number for internal IRQs |
65 | * @num_gpios: number of gpios, differs for variants | 70 | * @num_gpios: number of gpios, differs for variants |
66 | * @ier: cache of IER registers for bus_lock | 71 | * @ier: cache of IER registers for bus_lock |
@@ -71,11 +76,13 @@ struct stmpe { | |||
71 | struct mutex lock; | 76 | struct mutex lock; |
72 | struct mutex irq_lock; | 77 | struct mutex irq_lock; |
73 | struct device *dev; | 78 | struct device *dev; |
74 | struct i2c_client *i2c; | 79 | void *client; |
80 | struct stmpe_client_info *ci; | ||
75 | enum stmpe_partnum partnum; | 81 | enum stmpe_partnum partnum; |
76 | struct stmpe_variant_info *variant; | 82 | struct stmpe_variant_info *variant; |
77 | const u8 *regs; | 83 | const u8 *regs; |
78 | 84 | ||
85 | int irq; | ||
79 | int irq_base; | 86 | int irq_base; |
80 | int num_gpios; | 87 | int num_gpios; |
81 | u8 ier[2]; | 88 | u8 ier[2]; |
@@ -183,6 +190,9 @@ struct stmpe_ts_platform_data { | |||
183 | * @autosleep_timeout: inactivity timeout in milliseconds for autosleep | 190 | * @autosleep_timeout: inactivity timeout in milliseconds for autosleep |
184 | * @irq_base: base IRQ number. %STMPE_NR_IRQS irqs will be used, or | 191 | * @irq_base: base IRQ number. %STMPE_NR_IRQS irqs will be used, or |
185 | * %STMPE_NR_INTERNAL_IRQS if the GPIO driver is not used. | 192 | * %STMPE_NR_INTERNAL_IRQS if the GPIO driver is not used. |
193 | * @irq_over_gpio: true if gpio is used to get irq | ||
194 | * @irq_gpio: gpio number over which irq will be requested (significant only if | ||
195 | * irq_over_gpio is true) | ||
186 | * @gpio: GPIO-specific platform data | 196 | * @gpio: GPIO-specific platform data |
187 | * @keypad: keypad-specific platform data | 197 | * @keypad: keypad-specific platform data |
188 | * @ts: touchscreen-specific platform data | 198 | * @ts: touchscreen-specific platform data |
@@ -194,6 +204,8 @@ struct stmpe_platform_data { | |||
194 | unsigned int irq_trigger; | 204 | unsigned int irq_trigger; |
195 | bool irq_invert_polarity; | 205 | bool irq_invert_polarity; |
196 | bool autosleep; | 206 | bool autosleep; |
207 | bool irq_over_gpio; | ||
208 | int irq_gpio; | ||
197 | int autosleep_timeout; | 209 | int autosleep_timeout; |
198 | 210 | ||
199 | struct stmpe_gpio_platform_data *gpio; | 211 | struct stmpe_gpio_platform_data *gpio; |