diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-25 10:59:01 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-25 10:59:01 -0400 |
| commit | 3a99c6319064af3f2e18eb929f638d555dbf7a62 (patch) | |
| tree | e611927f41142123dc8efed7e07a3a91151edb01 /drivers/input/touchscreen | |
| parent | 1dfd166e93f98892aa4427069a23ed73259983c8 (diff) | |
| parent | 49327ad2bbbaf1945d5ba431522201574219d150 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (75 commits)
Input: wacom - specify Cinitq supported tools
Input: ab8500-ponkey - fix IRQ freeing in error path
Input: adp5588-keys - use more obvious i2c_device_id name string
Input: ad7877 - switch to using threaded IRQ
Input: ad7877 - use attribute group to control visibility of attributes
Input: serio - add support for PS2Mult multiplexer protocol
Input: wacom - properly enable runtime PM
Input: ad7877 - filter events where pressure is beyond the maximum
Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting
Input: ad7877 - implement specified chip select behavior
Input: hp680_ts_input - use cancel_delayed_work_sync()
Input: mousedev - correct lockdep annotation
Input: ads7846 - switch to using threaded IRQ
Input: serio - support multiple child devices per single parent
Input: synaptics - simplify pass-through port handling
Input: add ROHM BU21013 touch panel controller support
Input: omap4-keypad - wake-up on events & long presses
Input: omap4-keypad - fix interrupt line configuration
Input: omap4-keypad - SYSCONFIG register configuration
Input: omap4-keypad - use platform device helpers
...
Diffstat (limited to 'drivers/input/touchscreen')
| -rw-r--r-- | drivers/input/touchscreen/Kconfig | 34 | ||||
| -rw-r--r-- | drivers/input/touchscreen/Makefile | 3 | ||||
| -rw-r--r-- | drivers/input/touchscreen/ad7877.c | 144 | ||||
| -rw-r--r-- | drivers/input/touchscreen/ads7846.c | 886 | ||||
| -rw-r--r-- | drivers/input/touchscreen/bu21013_ts.c | 648 | ||||
| -rw-r--r-- | drivers/input/touchscreen/cy8ctmg110_ts.c | 4 | ||||
| -rw-r--r-- | drivers/input/touchscreen/hp680_ts_input.c | 6 | ||||
| -rw-r--r-- | drivers/input/touchscreen/intel-mid-touch.c | 687 | ||||
| -rw-r--r-- | drivers/input/touchscreen/lpc32xx_ts.c | 411 | ||||
| -rw-r--r-- | drivers/input/touchscreen/s3c2410_ts.c | 2 | ||||
| -rw-r--r-- | drivers/input/touchscreen/stmpe-ts.c | 11 | ||||
| -rw-r--r-- | drivers/input/touchscreen/tps6507x-ts.c | 3 | ||||
| -rw-r--r-- | drivers/input/touchscreen/tsc2007.c | 2 | ||||
| -rw-r--r-- | drivers/input/touchscreen/wacom_w8001.c | 185 | ||||
| -rw-r--r-- | drivers/input/touchscreen/wm97xx-core.c | 18 |
15 files changed, 2526 insertions, 518 deletions
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 0069d9703fda..0ea361f23fa7 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig | |||
| @@ -98,6 +98,18 @@ config TOUCHSCREEN_BITSY | |||
| 98 | To compile this driver as a module, choose M here: the | 98 | To compile this driver as a module, choose M here: the |
| 99 | module will be called h3600_ts_input. | 99 | module will be called h3600_ts_input. |
| 100 | 100 | ||
| 101 | config TOUCHSCREEN_BU21013 | ||
| 102 | tristate "BU21013 based touch panel controllers" | ||
| 103 | depends on I2C | ||
| 104 | help | ||
| 105 | Say Y here if you have a bu21013 touchscreen connected to | ||
| 106 | your system. | ||
| 107 | |||
| 108 | If unsure, say N. | ||
| 109 | |||
| 110 | To compile this driver as a module, choose M here: the | ||
| 111 | module will be called bu21013_ts. | ||
| 112 | |||
| 101 | config TOUCHSCREEN_CY8CTMG110 | 113 | config TOUCHSCREEN_CY8CTMG110 |
| 102 | tristate "cy8ctmg110 touchscreen" | 114 | tristate "cy8ctmg110 touchscreen" |
| 103 | depends on I2C | 115 | depends on I2C |
| @@ -214,6 +226,16 @@ config TOUCHSCREEN_WACOM_W8001 | |||
| 214 | To compile this driver as a module, choose M here: the | 226 | To compile this driver as a module, choose M here: the |
| 215 | module will be called wacom_w8001. | 227 | module will be called wacom_w8001. |
| 216 | 228 | ||
| 229 | config TOUCHSCREEN_LPC32XX | ||
| 230 | tristate "LPC32XX touchscreen controller" | ||
| 231 | depends on ARCH_LPC32XX | ||
| 232 | help | ||
| 233 | Say Y here if you have a LPC32XX device and want | ||
| 234 | to support the built-in touchscreen. | ||
| 235 | |||
| 236 | To compile this driver as a module, choose M here: the | ||
| 237 | module will be called lpc32xx_ts. | ||
| 238 | |||
| 217 | config TOUCHSCREEN_MCS5000 | 239 | config TOUCHSCREEN_MCS5000 |
| 218 | tristate "MELFAS MCS-5000 touchscreen" | 240 | tristate "MELFAS MCS-5000 touchscreen" |
| 219 | depends on I2C | 241 | depends on I2C |
| @@ -250,6 +272,18 @@ config TOUCHSCREEN_INEXIO | |||
| 250 | To compile this driver as a module, choose M here: the | 272 | To compile this driver as a module, choose M here: the |
| 251 | module will be called inexio. | 273 | module will be called inexio. |
| 252 | 274 | ||
| 275 | config TOUCHSCREEN_INTEL_MID | ||
| 276 | tristate "Intel MID platform resistive touchscreen" | ||
| 277 | depends on INTEL_SCU_IPC | ||
| 278 | help | ||
| 279 | Say Y here if you have a Intel MID based touchscreen in | ||
| 280 | your system. | ||
| 281 | |||
| 282 | If unsure, say N. | ||
| 283 | |||
| 284 | To compile this driver as a module, choose M here: the | ||
| 285 | module will be called intel_mid_touch. | ||
| 286 | |||
| 253 | config TOUCHSCREEN_MK712 | 287 | config TOUCHSCREEN_MK712 |
| 254 | tristate "ICS MicroClock MK712 touchscreen" | 288 | tristate "ICS MicroClock MK712 touchscreen" |
| 255 | help | 289 | help |
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile index 28217e1dcafd..99b353c4e9ae 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile | |||
| @@ -14,6 +14,7 @@ obj-$(CONFIG_TOUCHSCREEN_AD7879_SPI) += ad7879-spi.o | |||
| 14 | obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o | 14 | obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o |
| 15 | obj-$(CONFIG_TOUCHSCREEN_ATMEL_TSADCC) += atmel_tsadcc.o | 15 | obj-$(CONFIG_TOUCHSCREEN_ATMEL_TSADCC) += atmel_tsadcc.o |
| 16 | obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o | 16 | obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o |
| 17 | obj-$(CONFIG_TOUCHSCREEN_BU21013) += bu21013_ts.o | ||
| 17 | obj-$(CONFIG_TOUCHSCREEN_CY8CTMG110) += cy8ctmg110_ts.o | 18 | obj-$(CONFIG_TOUCHSCREEN_CY8CTMG110) += cy8ctmg110_ts.o |
| 18 | obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o | 19 | obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o |
| 19 | obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o | 20 | obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o |
| @@ -23,6 +24,8 @@ obj-$(CONFIG_TOUCHSCREEN_EETI) += eeti_ts.o | |||
| 23 | obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o | 24 | obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o |
| 24 | obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o | 25 | obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o |
| 25 | obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o | 26 | obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o |
| 27 | obj-$(CONFIG_TOUCHSCREEN_INTEL_MID) += intel-mid-touch.o | ||
| 28 | obj-$(CONFIG_TOUCHSCREEN_LPC32XX) += lpc32xx_ts.o | ||
| 26 | obj-$(CONFIG_TOUCHSCREEN_MC13783) += mc13783_ts.o | 29 | obj-$(CONFIG_TOUCHSCREEN_MC13783) += mc13783_ts.o |
| 27 | obj-$(CONFIG_TOUCHSCREEN_MCS5000) += mcs5000_ts.o | 30 | obj-$(CONFIG_TOUCHSCREEN_MCS5000) += mcs5000_ts.o |
| 28 | obj-$(CONFIG_TOUCHSCREEN_MIGOR) += migor_ts.o | 31 | obj-$(CONFIG_TOUCHSCREEN_MIGOR) += migor_ts.o |
diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c index 5f0221cffef9..a1952fcc083e 100644 --- a/drivers/input/touchscreen/ad7877.c +++ b/drivers/input/touchscreen/ad7877.c | |||
| @@ -191,13 +191,12 @@ struct ad7877 { | |||
| 191 | struct spi_message msg; | 191 | struct spi_message msg; |
| 192 | 192 | ||
| 193 | struct mutex mutex; | 193 | struct mutex mutex; |
| 194 | unsigned disabled:1; /* P: mutex */ | 194 | bool disabled; /* P: mutex */ |
| 195 | unsigned gpio3:1; /* P: mutex */ | 195 | bool gpio3; /* P: mutex */ |
| 196 | unsigned gpio4:1; /* P: mutex */ | 196 | bool gpio4; /* P: mutex */ |
| 197 | 197 | ||
| 198 | spinlock_t lock; | 198 | spinlock_t lock; |
| 199 | struct timer_list timer; /* P: lock */ | 199 | struct timer_list timer; /* P: lock */ |
| 200 | unsigned pending:1; /* P: lock */ | ||
| 201 | 200 | ||
| 202 | /* | 201 | /* |
| 203 | * DMA (thus cache coherency maintenance) requires the | 202 | * DMA (thus cache coherency maintenance) requires the |
| @@ -206,8 +205,8 @@ struct ad7877 { | |||
| 206 | u16 conversion_data[AD7877_NR_SENSE] ____cacheline_aligned; | 205 | u16 conversion_data[AD7877_NR_SENSE] ____cacheline_aligned; |
| 207 | }; | 206 | }; |
| 208 | 207 | ||
| 209 | static int gpio3; | 208 | static bool gpio3; |
| 210 | module_param(gpio3, int, 0); | 209 | module_param(gpio3, bool, 0); |
| 211 | MODULE_PARM_DESC(gpio3, "If gpio3 is set to 1 AUX3 acts as GPIO3"); | 210 | MODULE_PARM_DESC(gpio3, "If gpio3 is set to 1 AUX3 acts as GPIO3"); |
| 212 | 211 | ||
| 213 | /* | 212 | /* |
| @@ -230,6 +229,7 @@ static int ad7877_read(struct spi_device *spi, u16 reg) | |||
| 230 | AD7877_READADD(reg)); | 229 | AD7877_READADD(reg)); |
| 231 | req->xfer[0].tx_buf = &req->command; | 230 | req->xfer[0].tx_buf = &req->command; |
| 232 | req->xfer[0].len = 2; | 231 | req->xfer[0].len = 2; |
| 232 | req->xfer[0].cs_change = 1; | ||
| 233 | 233 | ||
| 234 | req->xfer[1].rx_buf = &req->sample; | 234 | req->xfer[1].rx_buf = &req->sample; |
| 235 | req->xfer[1].len = 2; | 235 | req->xfer[1].len = 2; |
| @@ -295,20 +295,25 @@ static int ad7877_read_adc(struct spi_device *spi, unsigned command) | |||
| 295 | 295 | ||
| 296 | req->xfer[0].tx_buf = &req->reset; | 296 | req->xfer[0].tx_buf = &req->reset; |
| 297 | req->xfer[0].len = 2; | 297 | req->xfer[0].len = 2; |
| 298 | req->xfer[0].cs_change = 1; | ||
| 298 | 299 | ||
| 299 | req->xfer[1].tx_buf = &req->ref_on; | 300 | req->xfer[1].tx_buf = &req->ref_on; |
| 300 | req->xfer[1].len = 2; | 301 | req->xfer[1].len = 2; |
| 301 | req->xfer[1].delay_usecs = ts->vref_delay_usecs; | 302 | req->xfer[1].delay_usecs = ts->vref_delay_usecs; |
| 303 | req->xfer[1].cs_change = 1; | ||
| 302 | 304 | ||
| 303 | req->xfer[2].tx_buf = &req->command; | 305 | req->xfer[2].tx_buf = &req->command; |
| 304 | req->xfer[2].len = 2; | ||
