Evan Green
f6123db977
Input: atmel_mxt_ts - disable IRQ across suspend
...
[ Upstream commit 463fa44eec2fef50d111ed0199cf593235065c04 ]
Across suspend and resume, we are seeing error messages like the following:
atmel_mxt_ts i2c-PRP0001:00: __mxt_read_reg: i2c transfer failed (-121)
atmel_mxt_ts i2c-PRP0001:00: Failed to read T44 and T5 (-121)
This occurs because the driver leaves its IRQ enabled. Upon resume, there
is an IRQ pending, but the interrupt is serviced before both the driver and
the underlying I2C bus have been resumed. This causes EREMOTEIO errors.
Disable the IRQ in suspend, and re-enable it on resume. If there are cases
where the driver enters suspend with interrupts disabled, that's a bug we
should fix separately.
Signed-off-by: Evan Green <evgreen@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-04 19:12:36 +01:00
..
88pm860x-ts.c
Input: 88pm860x-ts - fix child-node lookup
2018-01-08 17:40:59 -08:00
ad7877.c
Input: ad7877 - use managed resource allocations
2018-01-22 16:25:53 -08:00
ad7879-i2c.c
Input: ad7879 - return plain error code from ad7879_probe()
2017-03-01 09:42:44 -08:00
ad7879-spi.c
Input: ad7879 - return plain error code from ad7879_probe()
2017-03-01 09:42:44 -08:00
ad7879.c
Input: touchsceen - convert timers to use timer_setup()
2017-10-24 10:09:33 -07:00
ad7879.h
Input: ad7879 - return plain error code from ad7879_probe()
2017-03-01 09:42:44 -08:00
ads7846.c
Input: ads7846 - constify attribute_group structures
2017-07-12 14:19:31 -07:00
ar1021_i2c.c
Input: ar1021_i2c - set INPUT_PROP_DIRECT
2017-11-03 12:47:33 -07:00
atmel_mxt_ts.c
Input: atmel_mxt_ts - disable IRQ across suspend
2020-01-04 19:12:36 +01:00
auo-pixcir-ts.c
Input: auo-pixcir-ts - delete an unnecessary return statement
2018-01-22 16:28:59 -08:00
bcm_iproc_tsc.c
Input: bcm_iproc_tsc - use syscon to access shared registers
2016-04-06 16:11:56 -07:00
bu21013_ts.c
Input: touchscreen - drop unnecessary calls to device_init_wakeup
2017-01-21 23:53:30 -08:00
bu21029_ts.c
Input: add bu21029 touch driver
2018-06-24 15:20:12 -07:00
chipone_icn8318.c
Input: icn8318 - use of_touchscreen helpers for inverting / swapping axes
2016-07-15 14:50:56 -07:00
chipone_icn8505.c
Input: add support for ChipOne icn8505 based touchscreens
2018-05-09 13:29:35 -07:00
colibri-vf50-ts.c
Input: remove unneeded MODULE_VERSION() usage in touchscreen drivers
2018-01-16 16:48:23 -08:00
cy8ctmg110_ts.c
Input: drop owner assignment from i2c_driver
2015-07-17 16:57:00 -07:00
cyttsp4_core.c
Input: cyttsp4_core - fix use after free bug
2019-12-13 08:51:03 +01:00
cyttsp4_core.h
cyttsp4_i2c.c
Input: cyttsp - use PTR_ERR_OR_ZERO()
2015-10-02 11:44:19 -07:00
cyttsp4_spi.c
spi: Drop owner assignment from spi_drivers
2015-10-28 10:30:17 +09:00
cyttsp_core.c
Input: of_touchscreen - add support for inverted / swapped axes
2016-07-15 14:50:53 -07:00
cyttsp_core.h
Input: cyttsp - switch to using device properties
2016-01-27 14:32:48 -08:00
cyttsp_i2c.c
Input: cyttsp - use devres managed resource allocations
2016-01-27 14:32:46 -08:00
cyttsp_i2c_common.c
cyttsp_spi.c
Input: cyttsp - use devres managed resource allocations
2016-01-27 14:32:46 -08:00
da9034-ts.c
da9052_tsi.c
Input: da9052_tsi - remove unused mutex
2018-01-22 16:28:03 -08:00
dynapro.c
Input: dynapro - constify serio_device_id
2017-08-18 17:15:10 -07:00
edt-ft5x06.c
Input: edt-ft5x06 - fix error handling for factory mode on non-M06
2018-01-24 14:43:10 -08:00
eeti_ts.c
Input: eeti - fix link to documentation and email address in header
2018-07-04 16:08:05 +00:00
egalax_ts.c
Input: egalax_ts - add system wakeup support
2018-09-18 15:28:07 -07:00
egalax_ts_serial.c
Input: egalax_ts_serial - fix potential NULL dereference on error
2015-12-19 23:44:40 -08:00
ektf2127.c
Input: ektf2127 - mark PM functions as __maybe_unused
2016-10-03 16:36:52 -07:00
elants_i2c.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2018-02-01 10:49:58 -08:00
elo.c
Input: mark expected switch fall-throughs
2018-08-08 11:23:27 -07:00
exc3000.c
Input: add I2C attached EETI EXC3000 multi touch driver
2017-10-25 14:55:33 -07:00
fsl-imx25-tcq.c
Input: fsl-imx25-tcq - switch to SPDX identifier
2018-06-21 17:22:07 -07:00
fujitsu_ts.c
Input: fujitsu_ts - constify serio_device_id
2017-08-18 17:15:19 -07:00
goodix.c
Input: goodix - add upside-down quirk for Teclast X89 tablet
2019-12-13 08:52:39 +01:00
gunze.c
Input: stop telling users to snail-mail Vojtech
2018-07-26 17:04:37 -07:00
hampshire.c
Input: hampshire - constify serio_device_id
2017-08-18 17:15:30 -07:00
hideep.c
Input: hideep - fix compile error due to missing include file
2017-12-18 13:40:15 -08:00
hp680_ts_input.c
htcpen.c
dmi: Mark all struct dmi_system_id instances const
2017-09-14 11:59:30 +02:00
ili210x.c
Input: touchscreen - drop unnecessary calls to input_set_drvdata
2017-01-22 17:22:31 -08:00
imx6ul_tsc.c
Input: imx6ul_tsc - switch to SPDX identifier
2018-06-21 17:22:08 -07:00
inexio.c
Input: inexio - constify serio_device_id
2017-08-18 17:15:31 -07:00
ipaq-micro-ts.c
jornada720_ts.c
Input: jornada720_ts - get rid of mach/irqs.h and mach/hardware.h includes
2016-09-10 10:47:48 -07:00
Kconfig
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2018-08-18 16:48:07 -07:00
lpc32xx_ts.c
Input: lpc32xx_ts - check for clk_prepare_enable() error
2017-04-12 08:47:18 -07:00
mainstone-wm97xx.c
Makefile
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2018-08-18 16:48:07 -07:00
max11801_ts.c
Input: max11801_ts - add missing of_match_table
2017-03-29 00:25:03 -07:00
mc13783_ts.c
Input: mc13783_ts - remove deprecated create_singletheread_workqueue
2016-08-25 10:11:00 -07:00
mcs5000_ts.c
Input: mcs - move header file out of I2C realm
2017-05-22 17:26:57 -07:00
melfas_mip4.c
Input: remove unneeded MODULE_VERSION() usage in touchscreen drivers
2018-01-16 16:48:23 -08:00
migor_ts.c
Input: migor-ts - mark PM functions as __maybe_unused
2016-05-19 09:35:15 -07:00
mk712.c
Input: mk712 - update documentation web link
2018-05-29 16:34:22 -07:00
mms114.c
Input: mms114 - add SPDX identifier
2018-02-02 16:04:10 -08:00
mtouch.c
Input: mtouch - constify serio_device_id
2017-08-18 17:15:32 -07:00
mxs-lradc-ts.c
Input: mxs-lradc - remove redundant assignment to pointer input
2017-10-27 15:48:00 -07:00
of_touchscreen.c
Input: of_touchscreen - add MODULE_LICENSE
2018-01-10 16:38:12 -08:00
pcap_ts.c
Input: pcap_ts - use to_delayed_work
2016-01-02 21:08:53 -08:00
penmount.c
Input: penmount - constify serio_device_id
2017-08-18 17:15:34 -07:00
pixcir_i2c_ts.c
Input: touchscreen - use local variables consistently
2017-01-21 23:53:17 -08:00
raydium_i2c_ts.c
Input: raydium_i2c_ts - use true and false for boolean values
2018-08-08 11:23:26 -07:00
resistive-adc-touch.c
input: touchscreen: resistive-adc-touch: add generic resistive ADC touchscreen
2018-06-10 13:26:40 +01:00
rohm_bu21023.c
input: rohm_bu21023: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
2018-07-13 00:08:14 +02:00
s3c2410_ts.c
treewide: Switch DEFINE_TIMER callbacks to struct timer_list *
2017-11-21 15:57:05 -08:00
s6sy761.c
Input: stmfts, s6sy761 - update my e-mail
2018-03-30 15:31:41 -07:00
silead.c
Input: silead - try firmware reload after unsuccessful resume
2019-11-24 08:20:28 +01:00
sis_i2c.c
Input: sis_i2c - drop unnecessary call to i2c_set_clientdata
2017-01-18 14:29:57 -08:00
st1232.c
Input: st1232 - set INPUT_PROP_DIRECT property
2019-11-24 08:20:28 +01:00
stmfts.c
Input: stmfts - acknowledge that setting brightness is a blocking call
2019-05-08 07:21:53 +02:00
stmpe-ts.c
Input: stmpe-ts - restore kerneldoc
2016-03-02 09:40:20 -08:00
sun4i-ts.c
Input: sun4i-ts - constify thermal_zone_of_device_ops structures
2017-08-14 22:12:06 -07:00
sur40.c
media: add video control handlers using V4L2 control framework
2018-02-14 13:29:55 -05:00
surface3_spi.c
Input: surface3_spi - make const array header static, reduces object code size
2017-09-11 14:23:39 -07:00
sx8654.c
Input: touchscreen - drop calls to platform_set_drvdata and i2c_set_clientdata
2017-01-21 23:51:53 -08:00
ti_am335x_tsc.c
Input: ti_am335x_tsc - prevent system suspend when TSC is in use
2018-05-30 16:42:12 -07:00
touchit213.c
Input: touchit213 - constify serio_device_id
2017-08-18 17:15:35 -07:00
touchright.c
Input: touchright - constify serio_device_id
2017-08-18 17:15:36 -07:00
touchwin.c
Input: touchwin - constify serio_device_id
2017-08-18 17:15:37 -07:00
tps6507x-ts.c
Input: tps6507x-ts - update to devm_* API
2017-03-15 15:44:49 -07:00
ts4800-ts.c
Input: ts4800-ts - add missing of_node_put after calling of_parse_phandle
2016-07-15 10:50:12 -07:00
tsc40.c
Input: tsc40 - constify serio_device_id
2017-08-18 17:15:40 -07:00
tsc200x-core.c
Merge branch 'next' into for-linus
2017-11-13 17:10:13 -08:00
tsc200x-core.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
tsc2004.c
Input: tsc200x - report proper input_dev name
2016-07-20 17:50:24 -07:00
tsc2005.c
Input: tsc2005 - add OF device table
2017-02-12 14:55:08 -08:00
tsc2007.h
Input: tsc2007 - rename function tsc2007_calculate_pressure
2017-02-22 23:55:07 -08:00
tsc2007_core.c
Input: tsc2007 - move header file out of I2C realm
2017-05-22 17:26:58 -07:00
tsc2007_iio.c
input: tsc2007 - drop the driver_module assignment in iio interface.
2017-08-22 22:14:59 +01:00
ucb1400_ts.c
Input: ucb1400_ts - fix suspend and resume handling
2017-09-11 14:23:56 -07:00
usbtouchscreen.c
Input: usbtouchscreen - initialize PM mutex before using it
2019-08-16 10:12:39 +02:00
w90p910_ts.c
Input: touchsceen - convert timers to use timer_setup()
2017-10-24 10:09:33 -07:00
wacom_i2c.c
Input: drop owner assignment from i2c_driver
2015-07-17 16:57:00 -07:00
wacom_w8001.c
Input: wacom_w8001 - constify serio_device_id
2017-08-18 17:15:41 -07:00
wdt87xx_i2c.c
Input: wdt87xx_i2c - replace mdelay() with msleep() in wdt87xx_resume()
2018-07-27 11:59:05 -07:00
wm97xx-core.c
Input: wm97xx-ts - fix exit path
2018-11-21 09:19:08 +01:00
wm831x-ts.c
wm9705.c
wm9712.c
wm9713.c
zet6223.c
Input: zet6223 - export OF device ID as module aliases
2017-02-20 15:12:26 -08:00
zforce_ts.c
Input: zforce_ts - fix dual touch recognition
2016-04-25 14:27:56 -07:00
zylonite-wm97xx.c