aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen
Commit message (Collapse)AuthorAgeFilesLines
* Added Backlight Dimmer (BLD) version 3.Ezekeel2012-08-301-0/+11
| | | | | | | | | Conflicts: arch/arm/mach-s5pv210/herring-touchkey-led.c drivers/input/keyboard/cypress-touchkey.c drivers/misc/Kconfig drivers/misc/Makefile
* input: touchscreen: mxt224: Fix MT protocol implementation.Jeff Brown2011-11-171-14/+13
| | | | | | | | | | | | Correctly implement the MT protocol. Use ABS_MT_PRESSURE for intensity information. Use ABS_MT_TOUCH_MAJOR for touch width. Instead of sending ABS_MT_TOUCH_MAJOR with a value of 0 to indicate finger release, just omit the finger altogether. If there are no fingers left, then send an empty SYN_MT_REPORT / SYN_REPORT pair of events.
* input: mxt224: Atmel MaxTouch 224 driverBrian Swetland2011-11-173-0/+661
| | | | | | | Adding driver to support the Atmel MaxTouch 224 multi-touch controller. Change-Id: Ibf8de98c1f102e09f6204e7b57e49bcaf154f0af Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com>
* Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them ↵Rebecca Schultz Zavin2011-06-141-1/+4
| | | | | | | to driver Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> Signed-off-by: Arve Hjønnevåg <arve@android.com>
* Input: synaptics_i2c_rmi: Send new multi touch eventsArve Hjønnevåg2011-06-141-0/+25
| | | | | | | | | | | | Send both fingers using the new multitouch protocol in addition to the old single finger event and second finger ABS_HAT* hack. The new protocol does not specify how to report up events. To make sure the user-space frameworks can generate up events, we send at least one event where ABS_MT_TOUCH_MAJOR is zero before we stop sending events for a finger. Signed-off-by: Arve Hjønnevåg <arve@android.com>
* Input: synaptics_i2c_rmi: Add sensitivity adjust option.Arve Hjønnevåg2011-06-141-0/+7
| | | | Signed-off-by: Arve Hjønnevåg <arve@android.com>
* Input: synaptics_i2c_rmi: Add support for panels with has-no-relative-data ↵Arve Hjønnevåg2011-06-141-3/+12
| | | | | | property. Signed-off-by: Arve Hjønnevåg <arve@android.com>
* Input: synaptics_i2c_rmi: Driver for Synaptics Touchscreens using RMI over I2C.Arve Hjønnevåg2011-06-143-0/+638
| | | | | | | | | | | Signed-off-by: Arve Hjønnevåg <arve@android.com> Input: synaptics_i2c_rmi: disable_irq -> disable_irq_nosync Also remove duplicate swap macro Change-Id: I77266431ba5c267a5d92c4bdc2f127a5297065a8 Signed-off-by: Arve Hjønnevåg <arve@android.com>
* Merge branch 'next' into for-linusDmitry Torokhov2011-05-2417-70/+399
|\
| * Input: tsc2007 - add X, Y and Z fuzz factors to platform dataThierry Reding2011-05-171-3/+4
| | | | | | | | | | | | | | | | | | These new platform-specific values can be used to set the fuzz parameter passed to the input_set_abs_params() function for the ABS_X, ABS_Y and ABS_PRESSURE axes. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: tsc2007 - add poll_period parameter to platform dataThierry Reding2011-05-171-3/+3
| | | | | | | | | | | | | | | | This new parameter allows the polling frequency to be configured while keeping the default of once every millisecond. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: tsc2007 - add poll_delay parameter to platform dataThierry Reding2011-05-171-2/+3
| | | | | | | | | | | | | | | | | | | | | | Depending on the quality of the touch panel, the time for the X-, X+, Y- and Y+ inputs to settle may vary. The poll_delay parameter can be used to override the default of 1 millisecond. Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Kwangwoo Lee <kwangwoo.lee@gmail.com> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: tsc2007 - add max_rt parameter to platform dataThierry Reding2011-05-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finger touch events or very quick stylus events on low-quality panels can cause the tsc2007 to read bogus values. Looking at oscilloscope snapshots, this seems to be caused by the touch event disappearing during the measurements. These bogus values result in misclicks, where the X and Y values deviate from the real position. Most of these misclicks can be filtered out by setting a low enough threshold for the maximum resistance (which is loosely the inverse of the pressure) allowed to consider a set of values valid. Since this behaviour is largely dependent on the type and quality of the panel, this commit introduces the max_rt parameter. The default value is kept at MAX_12BIT. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: tsc2007 - debounce pressure measurementThierry Reding2011-05-171-1/+3
| | | | | | | | | | | | | | | | | | When the controller signals a pen-down event via the platform-specific GPIO, while the sample values indicate an invalid measurement, the measurement needs to be repeated. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: atmel_tsadcc - correct call to input_free_deviceJulia Lawall2011-05-141-1/+1
| | | | | | | | | | | | | | | | | | This error handling code can be reached before ts_dev->input is initialized, so it is safer to always use the original name, input_dev. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: ads7846 - fix gpio_pendown configurationIgor Grinberg2011-05-121-0/+7
| | | | | | | | | | | | | | | | The pendown gpio was requested but not configured for input. Configure it for input. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: ads7846 - add possibility to use external vref on ads7846Alexander Stein2011-05-121-8/+11
| | | | | | | | | | | | | | | | Just set vref_mv in your platform config to use external vref. Otherwise the internal one is used. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: h3600_ts_input - fix a leak of the IRQ during init failureAxel Lin2011-05-031-4/+4
| | | | | | | | | | | | | | | | Make sure we are passing the same cookie in all calls to request_irq() and free_irq(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge commit 'v2.6.39-rc4' into nextDmitry Torokhov2011-04-2214-49/+71
| |\
| | * Merge branch 'for-linus' of ↵Linus Torvalds2011-04-181-7/+10
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Input: xen-kbdfront - fix mouse getting stuck after save/restore Input: estimate number of events per packet Input: evdev - indicate buffer overrun with SYN_DROPPED Input: document event types and codes and their intended use Input: add KEY_IMAGES specifically for AL Image Browser Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe() Input: h3600_ts - fix error handling at connect Input: twl4030_keypad - avoid potential NULL-pointer dereference
| | * \ Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6Linus Torvalds2011-04-076-7/+7
| | |\ \ | | | | | | | | | | | | | | | | | | | | * 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6: Fix common misspellings
| | | * | Fix common misspellingsLucas De Marchi2011-03-316-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
| | * | | Merge branch 'for-linus' of ↵Linus Torvalds2011-04-051-1/+1
| | |\ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Input: rpckbd - fix a leak of the IRQ during init failure Input: wacom - add support for Lenovo tablet ID (0xE6) Input: i8042 - downgrade selftest error message to dbg() Input: synaptics - fix crash in synaptics_module_init() Input: spear-keyboard - fix inverted condition in interrupt handler Input: uinput - allow for 0/0 min/max on absolute axes. Input: sparse-keymap - report KEY_UNKNOWN for unknown scan codes Input: sparse-keymap - report scancodes with key events Input: h3600_ts_input - fix a spelling error Input: wacom - report resolution for pen devices Input: wacom - constify wacom_features for a new missed Bamboo models
| | * | | drivers: Final irq namespace conversionThomas Gleixner2011-03-292-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scripted with coccinelle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | | Merge branch 'for-linus' of ↵Linus Torvalds2011-03-252-6/+14
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Input: tsc2005 - fix locking issue Input: tsc2005 - use relative jiffies to schedule the watchdog Input: tsc2005 - driver should depend on GENERIC_HARDIRQS
| | * \ \ \ Merge branch 'for-linus' of ↵Linus Torvalds2011-03-199-1443/+2399
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (64 commits) Input: tsc2005 - remove 'disable' sysfs attribute Input: tsc2005 - add open/close Input: tsc2005 - handle read errors from SPI layer Input: tsc2005 - do not rearm timer in hardirq handler Input: tsc2005 - don't use work for 'pen up' handling Input: tsc2005 - do not use 0 in place of NULL Input: tsc2005 - use true/false for boolean variables Input: tsc2005 - hide selftest attribute if we can't reset Input: tsc2005 - rework driver initialization code Input: tsc2005 - set up bus type in input device Input: tsc2005 - set up parent device Input: tsc2005 - clear driver data after unbinding Input: tsc2005 - add module description Input: tsc2005 - remove driver banner message Input: tsc2005 - remove incorrect module alias Input: tsc2005 - convert to using dev_pm_ops Input: tsc2005 - use spi_get/set_drvdata() Input: introduce tsc2005 driver Input: xen-kbdfront - move to drivers/input/misc Input: xen-kbdfront - add grant reference for shared page ...
| | * \ \ \ \ Merge branch 'master' into for-2.6.39Tejun Heo2011-02-214-23/+72
| | |\ \ \ \ \
| | | * \ \ \ \ Merge branch 'for-linus' of ↵Linus Torvalds2011-02-152-18/+33
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Input: matrix_keypad - increase the limit of rows and columns Input: wacom - fix error path in wacom_probe() Input: ads7846 - check proper condition when freeing gpio Revert "Input: do not pass injected events back to the originating handler" Input: sysrq - rework re-inject logic Input: serio - clear pending rescans after sysfs driver rebind Input: rotary_encoder - use proper irqflags Input: wacom_w8001 - report resolution to userland
| | * | | | | | | input/tps6507x-ts: use system_wq instead of dedicated workqueueTejun Heo2011-01-261-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With cmwq, there's no reason to use a separate workqueue. Drop tps6507x_ts->wq and use system_wq instead. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Todd Fischer<todd.fischer@ridgerun.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: linux-input@vger.kernel.org Cc: Dan Carpenter <error27@gmail.com>
| * | | | | | | | Input: atmel_mxt_ts - convert to MT protocol BJoonyoung Shim2011-04-121-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Atmel touchscreen chips can use MT protocol B because they can assign unique id to ABS_MT_TRACKING_ID from finger id provided by hardware. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | | | | | | Input: atmel_mxt_ts - make CHG line high after enabling interruptsIiro Valkonen2011-04-121-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the CHG line (interrupt line) go high after the interrupts have been enabled to make sure we don't miss the falling edge. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Acked-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | | | | | | Input: atmel_mxt_ts - support 12bit resolutionJoonyoung Shim2011-04-121-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Atmel touchscreen chip can support 12bit resolution and this patch modifies to get maximum x and y size from platform data. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | | | | | | Input: add driver for Maxim max11801 touchscreen controllerZhang Jiejing2011-04-113-0/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add MAXI max11801 resistive touchscreen controller driver. This driver uses Auto Mode and Aperture Mode. Support for other max1180x devices can be added to this driver as well, as they use almost the same register addresses and codes. You can find data sheet here: http://www.maxim-ic.com/datasheet/index.mvp/id/5943 Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | | | Input: ads7846 - remove unused variable from struct ads7845_ser_reqAlexander Stein2011-05-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | | | Input: ads7846 - make transfer buffers DMA safeAlexander Stein2011-05-051-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | req.sample needs its own cacheline otherwise accessing req.msg fetches it in again. Note: This effect doesn't occur if the underlying SPI driver doesn't use DMA at all. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | | | Input: wm831x-ts - move BTN_TOUCH reporting to data transferMark Brown2011-04-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't report BTN_TOUCH until we've got data as some less robust applications can be confused by getting a touch event by itself and it doesn't seem unreasonable for them to expect coordinates along with a touch. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | | | Input: wm831x-ts - allow IRQ flags to be specifiedMark Brown2011-04-271-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows maximum flexibility for configuring the direct GPIO based interrupts. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | | | Input: wm831x-ts - fix races with IRQ managementMark Brown2011-04-271-5/+49
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the WM831x pen down and data IRQs run in parallel it is possible for the data and pen down IRQs to deadlock themselves as one is part way through disabling its operation while the other is part way through enabling. Fix this by always disabling the pen down interrupt while data is active and vice versa. When a changeover is required we disable the IRQ that is to be stopped then schedule work that will enable the new IRQ. We need to handle the data flow in the data IRQ as the readback from the device needs to be ordered correctly with the IRQ for robust operation. This also fixes an issue when using the built in IRQs due to enable_irq() not being valid from interrupt context on an interrupt controller with bus operations like the built in IRQ controller - this issue may also have affected other interrupt controllers. We can't rely on having the data and pen down IRQs available via GPIOs on the CPU on every system. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | | Input: h3600_ts - fix error handling at connectChristoph Fritz2011-04-061-7/+10
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of an error in h3600ts_connect(), deconstruct in correct order and with the right calls. Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | | Input: h3600_ts_input - fix a spelling errorSylvestre Ledru2011-03-261-1/+1
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sylvestre Ledru <sylvestre.ledru@scilab.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | Input: tsc2005 - fix locking issueAaro Koskinen2011-03-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0b950d3 (Input: tsc2005 - add open/close) introduced a locking issue with the ESD watchdog: __tsc2005_disable() is calling cancel_delayed_work_sync() with mutex held, and the work also needs the same mutex. Fix the problem by using mutex_trylock() in tsc2005_esd_work(). If the mutex is taken, we know we are in the middle of disable or enable and the watchdog check can be skipped. Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | Input: tsc2005 - use relative jiffies to schedule the watchdogAaro Koskinen2011-03-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use relative jiffies to schedule the watchdog. Otherwise it will run like a mad one. Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | | Input: tsc2005 - driver should depend on GENERIC_HARDIRQSGeert Uytterhoeven2011-03-232-2/+2
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/input/touchscreen/tsc2005.c: In function ‘tsc2005_probe’: drivers/input/touchscreen/tsc2005.c:666: error: implicit declaration of function ‘set_irq_wake’ In addition, migrate from set_irq_wake() (marked "do not use" as of commit a0cd9ca2b907d7ee26575e7b63ac92dad768a75e ("genirq: Namespace cleanup")) to irq_set_irq_wake(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | Merge branch 'next' into for-linusDmitry Torokhov2011-03-189-1458/+2414
|\ \ \ \ \ | |/ / / / | | | | / | |_|_|/ |/| | |
| * | | Merge branch 'tsc2005' into nextDmitry Torokhov2011-03-163-0/+768
| |\ \ \
| | * | | Input: tsc2005 - remove 'disable' sysfs attributeDmitry Torokhov2011-03-161-48/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I believe that enable/disable functionality should not be implemented on the individual driver level but rather in device core, potentially reusing parts of PM framework. Therefore the driver-specific "disable" attribute is removed from the mainline driver. Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * | | Input: tsc2005 - add open/closeDmitry Torokhov2011-03-161-94/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce open and close methods for the input device to keep the device powered down when it is not in use. Also rework interaction between interrupt thread and starting/shutting off/resetting the device: instead of taking a mutex in the intterrupt thread and elsewhere disable interrupts before transitioning the device in a new state. The ESD handling is also separated from the IRQ thread; we poll regularly at a given interval and simply skip reads if we see that valid interrupt happened not so long ago. This allows us not cancel and reschedule ESD work from interrupt context all the time. Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * | | Input: tsc2005 - handle read errors from SPI layerDmitry Torokhov2011-03-161-19/+81
| | | | | | | | | | | | | | | | | | | | | | | | | Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * | | Input: tsc2005 - do not rearm timer in hardirq handlerDmitry Torokhov2011-03-161-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will most likely rearm it yet again the IRQ thread so doing it here is pointless. Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * | | Input: tsc2005 - don't use work for 'pen up' handlingDmitry Torokhov2011-03-161-31/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do not need process context to send input events so let's switch to a regular timer. I am going to get rid of taking ts->mutex in tsc2005_irq_thread() later. Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>