linux/drivers/input/touchscreen
Hans de Goede 1921dacef7 Input: goodix - make resetting the controller at probe independent from the GPIO setup
Before this commit we would always reset the controller at probe when we
have access to the GPIOs which are necessary to do a reset.

Doing the reset requires access to the GPIOs, but just because we have
access to the GPIOs does not mean that we should always reset the
controller at probe. On X86 ACPI platforms the BIOS / UEFI firmware will
already have reset the controller and it will have loaded the device
specific config into the controller. Doing the reset sometimes causes the
controller to lose its configuration, so on X86 ACPI platforms this is not
a good idea.

This commit adds a new reset_controller_at_probe boolean to control the
reset at probe behavior.

This commits sets the new bool to true when we set irq_pin_access_method
to IRQ_PIN_ACCESS_GPIO, so there are no functional changes.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1786317
BugLink: https://github.com/nexus511/gpd-ubuntu-packages/issues/10
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=199207
Reviewed-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20200307121505.3707-3-hdegoede@redhat.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2020-03-24 15:07:13 -07:00
..
88pm860x-ts.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
ad7877.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 64 2019-05-24 17:36:46 +02:00
ad7879-i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
ad7879-spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
ad7879.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
ad7879.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
ads7846.c Input: ads7846 - use new delay structure for SPI transfer delays 2020-01-20 20:45:25 -08:00
ar1021_i2c.c Input: ar1021 - fix typo in preprocessor macro name 2019-11-11 16:02:30 -08:00
atmel_mxt_ts.c Input: atmel_mxt_ts - disable IRQ across suspend 2019-10-02 14:02:31 -07:00
auo-pixcir-ts.c Linux 5.2 2019-07-15 09:42:32 -07:00
bcm_iproc_tsc.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
bu21013_ts.c Input: bu21013_ts - switch to using standard touchscreen properties 2019-09-02 09:07:38 -07:00
bu21029_ts.c Input: add bu21029 touch driver 2018-06-24 15:20:12 -07:00
chipone_icn8318.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -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: colibri-vf50-ts - remove unneeded gpio.h header file 2019-10-27 11:14:22 -07:00
cy8ctmg110_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176 2019-05-30 11:29:19 -07:00
cyttsp4_core.c Input: cyttsp4_core - fix use after free bug 2019-11-12 17:11:26 -08:00
cyttsp4_core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
cyttsp4_i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
cyttsp4_spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
cyttsp_core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
cyttsp_core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
cyttsp_i2c_common.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
cyttsp_i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
cyttsp_spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
da9034-ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
da9052_tsi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dynapro.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
edt-ft5x06.c Input: edt-ft5x06 - use pm core to enable/disable the wake irq 2020-01-10 14:45:36 -08:00
eeti_ts.c Linux 5.2 2019-07-15 09:42:32 -07:00
egalax_ts_serial.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
egalax_ts.c Input: egalax_ts - add system wakeup support 2018-09-18 15:28:07 -07:00
ektf2127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
elants_i2c.c Input: elants_i2c - report resolution information for touch major 2020-03-06 10:06:36 -08:00
elo.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
exc3000.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
fsl-imx25-tcq.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
fujitsu_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
goodix.c Input: goodix - make resetting the controller at probe independent from the GPIO setup 2020-03-24 15:07:13 -07:00
gunze.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hampshire.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hideep.c Input: hideep - switch to use device_property_count_u32() 2019-08-12 00:03:11 -07:00
hp680_ts_input.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
htcpen.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ili210x.c Input: ili210x - optionally show calibrate sysfs attribute 2019-11-12 15:53:33 -08:00
imx6ul_tsc.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
inexio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ipaq-micro-ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
iqs5xx.c Linux 5.2 2019-07-15 09:42:32 -07:00
jornada720_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Kconfig Input: fix Kconfig indentation 2019-11-22 15:19:19 -08:00
lpc32xx_ts.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
mainstone-wm97xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Makefile Input: remove w90x900 touchscreen driver 2019-08-09 15:16:38 -07:00
max11801_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mc13783_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcs5000_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
melfas_mip4.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
migor_ts.c Input: migor_ts - convert to SPDX identifiers 2018-11-12 11:52:05 -08:00
mk712.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mms114.c Input: mms114 - use device_get_match_data 2019-11-11 16:25:05 -08:00
mtouch.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxs-lradc-ts.c Input: mxs-lradc-ts - use devm_platform_ioremap_resource() 2019-07-24 12:48:47 +03:00
of_touchscreen.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pcap_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
penmount.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pixcir_i2c_ts.c Input: pixcir_i2c_ts - remove platform data 2019-10-09 14:56:40 -07:00
raspberrypi-ts.c Input: raspberrypi-ts - switch to using polled mode of input devices 2019-10-29 17:13:37 -07:00
raydium_i2c_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
s3c2410_ts.c Input: s3c2410_ts - remove unneeded gpio.h header file 2019-10-27 11:14:24 -07:00
s6sy761.c Input: stmfts, s6sy761 - update my e-mail 2018-03-30 15:31:41 -07:00
silead.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2019-06-19 11:26:09 -07:00
sis_i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
st1232.c Input: st1232 - switch to using MT-B protocol 2019-10-28 21:04:27 -07:00
stmfts.c Input: stmfts - acknowledge that setting brightness is a blocking call 2019-02-07 23:41:11 -08:00
stmpe-ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sun4i-ts.c Linux 5.3-rc4 2019-08-11 23:24:46 -07:00
sur40.c Input: sur40 - switch to using polled mode of input devices 2019-10-29 17:13:39 -07:00
surface3_spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
sx8654.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ti_am335x_tsc.c Input: ti_am335x_tsc - remove set but not used variable 'tscadc_dev' 2019-02-19 10:38:19 -08:00
touchit213.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
touchright.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
touchwin.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tps6507x-ts.c Input: tsc6507x-ts - switch to using polled mode of input devices 2019-10-29 17:13:41 -07:00
ts4800-ts.c Input: ts4800-ts - switch to using polled mode of input devices 2019-10-29 17:13:40 -07:00
tsc40.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 315 2019-06-05 17:37:05 +02:00
tsc200x-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tsc2005.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tsc2007_core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tsc2007_iio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tsc2007.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ucb1400_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
usbtouchscreen.c Input: usbtouchscreen - initialize PM mutex before using it 2019-08-01 10:55:20 -07:00
wacom_i2c.c Input: wacom_i2c - remove unneeded gpio.h header file 2019-10-27 11:14:25 -07:00
wacom_w8001.c Input: wacom_w8001 - allocate additional space for 'phys' 2019-08-20 12:03:46 -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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm831x-ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm9705.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm9712.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm9713.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
zet6223.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
zforce_ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
zylonite-wm97xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00