linux/drivers/input/touchscreen
Arnd Bergmann 4eef6cbfcc Input: eeti_ts: pass gpio value instead of IRQ
The EETI touchscreen asserts its IRQ line as soon as it has data in its
internal buffers. The line is automatically deasserted once all data has
been read via I2C. Hence, the driver has to monitor the GPIO line and
cannot simply rely on the interrupt handler reception.

In the current implementation of the driver, irq_to_gpio() is used to
determine the GPIO number from the i2c_client's IRQ value.

As irq_to_gpio() is not available on all platforms, this patch changes
this and makes the driver ignore the passed in IRQ. Instead, a GPIO is
added to the platform_data struct and gpio_to_irq is used to derive the
IRQ from that GPIO. If this fails, bail out. The driver is only able to
work in environments where the touchscreen GPIO can be mapped to an
IRQ.

Without this patch, building raumfeld_defconfig results in:

drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active':
drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: stable@vger.kernel.org (v3.2+)
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Sven Neumann <s.neumann@raumfeld.com>
Cc: linux-input@vger.kernel.org
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
2012-08-09 15:16:41 +02:00
..
88pm860x-ts.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
ad7877.c Input: convert SPI drivers to use module_spi_driver() 2012-03-16 23:06:11 -07:00
ad7879-i2c.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
ad7879-spi.c Input: convert SPI drivers to use module_spi_driver() 2012-03-16 23:06:11 -07:00
ad7879.c Merge branch 'for-linus' to bring in change ensuring that drivers that 2012-07-07 16:07:48 -07:00
ad7879.h Input: ad7879 - consolidate PM methods 2011-11-15 22:24:22 -08:00
ads7846.c Input: convert SPI drivers to use module_spi_driver() 2012-03-16 23:06:11 -07:00
atmel_mxt_ts.c Pull input changes from Henrik Rydberg, including large update to 2012-07-07 16:18:33 -07:00
atmel_tsadcc.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
atmel-wm97xx.c Merge commit 'v3.3-rc6' into next 2012-03-09 10:55:17 -08:00
auo-pixcir-ts.c Input: synaptics_usb - switch to module_usb_driver() 2012-03-16 23:06:34 -07:00
bu21013_ts.c Input: request threaded-only IRQs with IRQF_ONESHOT 2012-07-04 13:12:19 -07:00
cy8ctmg110_ts.c Input: request threaded-only IRQs with IRQF_ONESHOT 2012-07-04 13:12:19 -07:00
cyttsp_core.c Input: cyttsp - remove useless checks in cyttsp_probe() 2012-03-04 10:49:27 -08:00
cyttsp_core.h Input: add Cypress TTSP capacitive multi-touch screen support 2012-01-31 00:18:36 -08:00
cyttsp_i2c.c Input: synaptics_usb - switch to module_usb_driver() 2012-03-16 23:06:34 -07:00
cyttsp_spi.c Input: convert SPI drivers to use module_spi_driver() 2012-03-16 23:06:11 -07:00
da9034-ts.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
da9052_tsi.c Input: add support for DA9052/53 touch screen controller 2012-04-29 23:37:15 -07:00
dynapro.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
edt-ft5x06.c Input: add driver for FT5x06 based EDT displays 2012-07-24 23:55:03 -07:00
eeti_ts.c Input: eeti_ts: pass gpio value instead of IRQ 2012-08-09 15:16:41 +02:00
egalax_ts.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
elo.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
fujitsu_ts.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
gunze.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
h3600_ts_input.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
hampshire.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
hp680_ts_input.c Input: hp680_ts_input - ensure arguments to request_irq and free_irq are compatible 2012-03-12 22:17:56 -07:00
htcpen.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ili210x.c Input: ili210x - add support for Ilitek ILI210x based touchscreens 2012-03-17 12:20:44 -07:00
inexio.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
intel-mid-touch.c Input: request threaded-only IRQs with IRQF_ONESHOT 2012-07-04 13:12:19 -07:00
jornada720_ts.c ARM: sa11x0/pxa: convert OS timer registers to IOMEM 2012-07-09 17:37:35 +01:00
Kconfig Input: add driver for FT5x06 based EDT displays 2012-07-24 23:55:03 -07:00
lpc32xx_ts.c Input: lpc32xx_ts - fix device tree compatible string 2012-04-23 23:35:59 -07:00
mainstone-wm97xx.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
Makefile Input: add driver for FT5x06 based EDT displays 2012-07-24 23:55:03 -07:00
max11801_ts.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
mc13783_ts.c mfd: Add pdata to set mc13783-ts conversion delay 2012-03-06 18:46:30 +01:00
mcs5000_ts.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
migor_ts.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
mk712.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
mms114.c Input: add MELFAS mms114 touchscreen driver 2012-07-17 23:16:17 -07:00
mtouch.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
pcap_ts.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
penmount.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
pixcir_i2c_ts.c Input: request threaded-only IRQs with IRQF_ONESHOT 2012-07-04 13:12:19 -07:00
s3c2410_ts.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
st1232.c Input: st1232 - switch to using SIMPLE_DEV_PM_OPS 2012-04-04 09:25:40 -07:00
stmpe-ts.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
ti_tscadc.c Input: add support for TI Touchscreen controller 2012-03-04 08:45:00 -08:00
tnetv107x-ts.c Input: request threaded-only IRQs with IRQF_ONESHOT 2012-07-04 13:12:19 -07:00
touchit213.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
touchright.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
touchwin.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
tps6507x-ts.c Input: tps6507x-ts - fix MODULE_ALIAS to match driver name 2012-04-03 09:55:45 -07:00
tsc40.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
tsc2005.c Input: request threaded-only IRQs with IRQF_ONESHOT 2012-07-04 13:12:19 -07:00
tsc2007.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
ucb1400_ts.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
usbtouchscreen.c USB: input: usbtouchscreen.c: fix up dev_* messages 2012-05-04 15:33:16 -07:00
w90p910_ts.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
wacom_i2c.c Input: wacom_i2c - fix compiler warning 2012-07-07 16:41:12 -07:00
wacom_w8001.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
wm97xx-core.c Fix common misspellings 2011-03-31 11:26:23 -03:00
wm831x-ts.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm9705.c Input: wm97xx - mark channels which need pen_down 2011-07-04 19:31:47 -07:00
wm9712.c Input: wm97xx - mark channels which need pen_down 2011-07-04 19:31:47 -07:00
wm9713.c Input: wm97xx - mark channels which need pen_down 2011-07-04 19:31:47 -07:00
zylonite-wm97xx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-01-10 10:55:52 -08:00