• Arnd Bergmann's avatar
    Input: eeti_ts: pass gpio value instead of IRQ · 4eef6cbf
    Arnd Bergmann authored
    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: default avatarDaniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarArnd 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>
    4eef6cbf
raumfeld.c 24.9 KB