aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'v2.6.31-rc8' into nextDmitry Torokhov2009-08-271-4/+13
|\
| * Input: ucb1400_ts - enable interrupt unconditionallyPavel Revak2009-08-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, when using the touchscreen, it stops working till next restart and the following message is printed: ucb1400: unexpected IE_STATUS = 0x0 The following patch retriggers the touchscreen interrupt unconditionally. This prevents hanging of the touchscreen in case of bogus interrupt occurence. Signed-off-by: Pavel Revak <palo@bielyvlk.sk> Acked-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: ucb1400_ts - enable ADC FilterMarek Vasut2009-08-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This patch enables ADC filtering on UCB1400 codec by default. The benefit from this change is mostly on some Colibri boards where the ADCSYNC pin of the UCB1400 codec isn't connected causing the touchscreen to jitter very badly. This change has no visible effect on boards where the ADCSYNC pin is connected. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Tested-by: Palo Revak <palo@bielyvlk.sk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: eeti_ts - allow active high irq linesDaniel Mack2009-08-121-3/+19
| | | | | | | | | | | | | | | | | | | | | | This adds a struct eeti_ts_platform_data which currently holds only one value to specify the interrupt polarity. The driver has a fallback if no platform data is passed in via the i2c_board_info, so no regression is caused. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - don't use serio->write() directlyDmitry Torokhov2009-08-051-4/+5
| | | | | | | | | | | | We have a nice wrapper for that. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - check if I2C communication works during probeRichard Röjfors2009-08-041-3/+5
| | | | | | | | | | | | | | Check the result when sending the power down command to the controller. Signed-off-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - make get_pendown_state platform callback optionalDmitry Torokhov2009-08-041-79/+93
| | | | | | | | | | | | | | | | In cases when get_pendown_state callback is not available have the driver to fallback on pressure calculation to determine if the pen is up. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: usbtouchscreen - add support for e2i touchscreen controllerFlorian Echtler2009-07-272-0/+54
| | | | | | | | | | | | | | | | | | This patch adds support for the e2i touchscreen controller used in the Mimo 740 (and probably in other e2i touchscreen products). Tested on Mimo 740. Signed-off-by: Florian Echtler <floe@butterbrot.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - do not read coordinates during probeRichard Röjfors2009-07-261-2/+3
| | | | | | | | | | | | | | | | Don't read coordinates during probe of the driver, just power down the controller and wait for interrupts. Signed-off-by: Richard Röjfors<richard.rojfors.ext@mocean-labs.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - make init/exit platform hw callbacks optionalRichard Röjfors2009-07-261-3/+6
| | | | | | | | | | | | | | | | Make init_platform_hw and exit_platform_hw callbacks optional since they are not needed on all platforms. Signed-off-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - properly shut off interrupts/delayed workDmitry Torokhov2009-07-261-30/+42
| | | | | | | | | | | | | | | | | | | | | | Properly shut off interrupts/delayed work by free-ing IRQ first and then ensuring that enable/disable is balanced. Also add __devinit/__devexit markings, restore poll delay/period scheduling logic, make sure we call exit_platform_hw() method when probe fails. Tested-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - remove HR timerRichard Röjfors2009-07-261-35/+13
| | | | | | | | | | | | | | | | | | Since it's not allowed to do synchronous I2C in the HR timer callback context we have to switch to using the global workqueue. The work is scheduled every 1ms when polling rather than 5 us. Signed-off-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wm97xx - add possibility to control the GPIO_STATUS shiftMarek Vasut2009-07-202-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows tweaking the behaviour of GPIO_STATUS register shift quirk that's in wm97xx-core. The problem with GPIO_STATUS register being shifted by one doesn't appear on all hardware it seems and causes problems with accelerated touchscreen drivers on Palm hardware. Therefore an accelerated touchscreen driver can select if the shift is/isn't happening on the hardware. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wm97xx - add Palm support to Mainstone accelerated touchMarek Vasut2009-07-202-19/+35
| | | | | | | | | | | | | | | | | | | | This patch refactors the Mainstone accelerated touch code a little and adds support for interrupt driven touchscreen on Palm LifeDrive, TX and Tungsten T5. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: w90p910_ts - use clk APIWan ZongShun2009-07-122-13/+14
| | | | | | | | | | | | | | Now that clk API is available on ARM we can use it in the driver. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ucb1400_ts - fix a misleading function nameHans J. Koch2009-07-121-2/+3
| | | | | | | | | | | | | | | | | | | | The driver for UCB1400 touchscreen controllers contains a function named ucb1400_ts_pen_down(), but it returns 0 if the pen is down and 1 if it's up. This causes confusion, especially since it's used as a boolean truth value later in the code. This patch renames it. Signed-off-by: Hans J. Koch <hjk@linutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: usbtouchscreen - support for JASTEC/DigiTech DTR-02U USB touch ↵Jim Persson2009-07-072-0/+38
| | | | | | | | | | | | | | | | | | | | controllers Add support for the JASTEC/DigiTech DTR-02U USB touch screen controllers. Signed-off-by: Jim Persson <jim-linux@nurd.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: use resource_size when allocating resourcesJulia Lawall2009-07-072-8/+8
|/ | | | | | | | | | | | | | | | | | | | Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ads7846 - pin change interrupt supportMichael Roth2009-06-111-3/+9
| | | | | | | | | | | | | | Some SoCs support only pin change interrupts on GPIO pins used as irq lines. The ads7846 core is not affected from the additional irqs on the rising edge because the code accounts touch bounce anyway by kicking in a timer and disabling the irq after the first request and reenabling the irq after a timeout when there is no longer pen down detected. Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add support for touchscreen on W90P910 ARM platformWan ZongShun2009-06-113-0/+359
| | | | | | | | | | | | | The touchscreen works in two modes, wait trigger mode and auto-semi mode. The device starts in wait trigger mode and waits until pressure is detected, then device sets WT_INT bit and raises an interrupt. The driver should put the device into auto-semi mode and prepare for reading first X and then Y coordinates. When coordinate data is ready the driver sets ADC_INT bit and raises interrupt again. [dtor@mail.ru: various cleanups] Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.30' into nextDmitry Torokhov2009-06-112-3/+4
|\
| * Input: usb1400_ts - fix access to "device data" in resume functionManuel Traut2009-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | platform_data != driver_data driver data is actually the "correct" place of the struct however it is not placed there due to the need of the ac97 struct. This is broken since d9105c2b01 aka "[ARM] 5184/1: Split ucb1400_ts into core and touchscreen" Signed-off-by: Manuel Traut <manut@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: tsc2007 - fix locking in hrtimer handlerThierry Reding2009-05-111-2/+3
| | | | | | | | | | | | | | | | | | Now that hrtimers are always running in hard irq context we can't unconditionally enable interrupts at the end of the timer function. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Kwangwoo Lee <kwangwoo.lee@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add driver for EETI touchpanelsDaniel Mack2009-05-193-0/+296
| | | | | | | | | | | | | | | | | | This patch adds a driver for EETI's I2C connected touchscreens. Signed-off-by: Daniel Mack <daniel@caiaq.de> Tested-by: Sven Neumann <s.neumann@raumfeld.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ads7846 - more detailed model name in sysfsMichael Roth2009-05-191-1/+3
| | | | | | | | | | Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ads7846 - support swapping x and y axesMichael Roth2009-05-191-0/+7
| | | | | | | | | | Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: tsc2007 - make sure platform provides get_pendown_state()Kwangwoo Lee2009-05-151-1/+1
| | | | | | | | | | | | | | | | The platform codes must provide get_pendown_state() for the driver to work properly. Signed-off-by: Kwangwoo Lee <kwangwoo.lee@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge commit 'v2.6.30-rc5' into nextDmitry Torokhov2009-05-085-4/+26
|\ \ | |/
| * Input: ucb1400 - use disable_irq_nosync() in irq handlerBen Nizette2009-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | disable_irq() waits for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette <bn@niasdigital.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: tsc2007 - use disable_irq_nosync() in irq handlerBen Nizette2009-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | disable_irq() waits for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette <bn@niasdigital.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge branch 'next' into for-linusDmitry Torokhov2009-04-166-22/+36
| |\
| * \ Merge branch 'next' into for-linusDmitry Torokhov2009-04-088-6/+1942
| |\ \
| * \ \ Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2009-04-051-0/+23
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits) sh: sh7785lcr: Map whole PCI address space. sh: Fix up DSP context save/restore. sh: Fix up number of on-chip DMA channels on SH7091. sh: update defconfigs. sh: Kill off broken direct-mapped cache mode. sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle. sh: Add a command line option for disabling I/O trapping. sh: Select ARCH_HIBERNATION_POSSIBLE. sh: migor: Fix up CEU use flags. input: migor_ts: add wakeup support rtc: rtc-sh: use set_irq_wake() input: sh_keysc: use enable/disable_irq_wake() sh: intc: set_irq_wake() support sh: intc: install enable, disable and shutdown callbacks clocksource: sh_cmt: use remove_irq() and remove clockevent workaround sh: ap325 and Migo-R use new sh_mobile_ceu_info flags sh: Fix up -Wformat-security whining. sh: ap325rxa: Add ov772x support, again. sh: Sanitize asm/mmu.h for assembly use. sh: Tidy up sh7786 pinmux table. ...
| | * | | input: migor_ts: add wakeup supportMagnus Damm2009-04-021-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add wakeup support to the migor_ts driver. If user space has enabled wakeup, use set_irq_wake() during suspend and resume. With this patch the migor_ts driver can be used to wake the system from suspend. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | trivial: Fix misspelling of "Celsius".Adam Buchbinder2009-03-301-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | A few comments say "Celcius"; this fixes them. No code changes. Signed-off-by: Adam Buchbinder <adam.buchbinder@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * | | Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into develRussell King2009-03-134-8/+26
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-at91/gpio.c
| * | | | [ARM] pxa: separate definitions from pxa-regs.h and remove it finallyEric Miao2009-03-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The remaining registers are separated into: - <mach/regs-ost.h> - <mach/regs-rtc.h> - <mach/regs-intc.h> and then we can remove pxa-regs.h completely. Instead of #include this file, let's: 1. include the specific <mach/regs-*.h> with care (if that's absolutely necessary) 2. define the registers in the driver, make cleanly defined API to expose the register access to external with sufficient reason Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | | | | Input: wm97xx - do not access dev->driver_data directlyGreg Kroah-Hartman2009-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | Input: add wm97xx accelerated driver for Atmel microprocessorsHans-Christian Egtvedt2009-04-183-0/+462
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds an accelerated driver for Atmel AVR32 AT32AP700X microprocessors. It uses interrupts on the channel B in the AC97 controller. Thus, offloading the work queue in the wm97xx-ts driver. The driver has been tested with Atmel AVR32 AT32AP7000 and Wolfson WM9712 codec. The driver can also be easily modified to support Atmel AT91 devices, as AT91 and AVR32 share the same AC97C module. [Fixed leak of atmel_wm97xx when probe fails. -- broonie] [dtor@mail.ru: do not report ABS_PRESSURE events when not measuring pressure] Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: ads7846 - fix unsafe disable_irqBen Nizette2009-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of disable_irq inside the handler for the interrupt being disabled has always been dangerous. disable_irq should wait for that handler to complete before returning -> deadlock. For some reason this wasn't actually the case until 3aa551c9b was merged but since this time, the ads7846 driver has deadlocked the system on first interrupt. Convert the driver to use the handler-safe _nosync variant. Signed-off-by: Ben Nizette <bn@niasdigital.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: mainstone-wm97xx - fix condition in pen_upJiri Slaby2009-04-151-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The loop body was never executed, because the condition is always false. Convert to for with more obvious condition. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: ad7877, ad7879 - remove depreciated IRQF_SAMPLE_RANDOM flagMichael Hennerich2009-04-152-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes depreciated IRQF_SAMPLE_RANDOM flags from ad7877 and ad7879 touchscreen drivers. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: da9034-ts - make pen {down,up} events more reliableEric Miao2009-04-151-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PEN_{UP/DOWN} events are expected to be available soon after stopping TSI auto measurement, but this is found not always be true. Work around this by adding delay and simulating such an event (according to pen down status bit). Signed-off-by: Bin Yang <bin.yang@marvell.com> Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: da9034-ts - add Bin Yang as co-author of the driverEric Miao2009-04-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bin did a lot of work on this driver, without his help, this driver will not be possible. Signed-off-by: Bin Yang <bin.yang@marvell.com> Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: wm97xx - don't specify IRQF_SAMPLE_RANDOMMark Brown2009-04-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The input core will add entropy to the pool so this flag is not needed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: ads7846 - introduce platform specific way to synchronize samplingEric Miao2009-04-111-0/+10
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Noises can be introduced when LCD signals are being driven, some platforms provide a signal to assist the synchronization of this sampling procedure. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: add AD7879 Touchscreen driverMichael Hennerich2009-03-093-0/+815
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [randy.dunlap@oracle.com: don't use bus_id] [dtor@mail.ru: locking and other fixups] Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: add AD7877 touchscreen driverMichael Hennerich2009-03-093-0/+858
| | | | | | | | | | | | | | | | | | | | | | | | [dtor@mail.ru: locking and other fixups] Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: add accelerated touchscreen support for Marvell ZyloniteMark Brown2009-03-083-0/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements accelerated touchscreen support for the Marvell Zylonite development platform, supporting pen down interrupts and continuous mode data transfers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: ucb1400_ts, mainstone-wm97xx - add BTN_TOUCH eventsMike Rapoport2009-03-082-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add BTN_TOUCH event reporting to ucb1400_ts and accelerated mainstone-wm97xx touchscreen drivers. Together with previously posted similar patch for wm97xx-core this will make all touchscreen drivers behave consistently wrt. BTN_TOUCH. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>