android_kernel_oneplus_msm8998/drivers/gpio
Andrew Lunn 35709d6424 gpio: vf610: Mask all GPIO interrupts
[ Upstream commit 7ae710f9f8b2cf95297e7bbfe1c09789a7dc43d4 ]

On SoC reset all GPIO interrupts are disable. However, if kexec is
used to boot into a new kernel, the SoC does not experience a
reset. Hence GPIO interrupts can be left enabled from the previous
kernel. It is then possible for the interrupt to fire before an
interrupt handler is registered, resulting in the kernel complaining
of an "unexpected IRQ trap", the interrupt is never cleared, and so
fires again, resulting in an interrupt storm.

Disable all GPIO interrupts before registering the GPIO IRQ chip.

Fixes: 7f2691a196 ("gpio: vf610: add gpiolib/IRQ chip driver for Vybrid")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-03-23 08:44:25 +01:00
..
devres.c gpio: make flags mandatory for gpiod_get functions 2015-07-06 10:39:24 +02:00
gpio-74x164.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-74xx-mmio.c gpio: 74xx: fix a possible NULL dereference 2015-11-17 14:39:17 +01:00
gpio-104-idio-16.c gpio: Add GPIO support for the ACCES 104-IDIO-16 2015-10-27 11:01:19 +01:00
gpio-adnp.c
gpio-adp5520.c
gpio-adp5588.c gpio: adp5588: Fix sleep-in-atomic-context bug 2018-10-10 08:52:10 +02:00
gpio-altera.c gpio: altera: Use handle_level_irq when configured as a level_high 2017-12-16 10:33:51 +01:00
gpio-amd8111.c
gpio-amdpt.c gpio: driver for AMD Promontory 2015-10-26 14:45:26 +01:00
gpio-arizona.c gpio: arizona: add support for WM8998 and WM1814 2015-10-02 04:19:34 -07:00
gpio-ath79.c gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE 2018-02-03 17:04:26 +01:00
gpio-bcm-kona.c gpio: bcm-kona: fix bcm_kona_gpio_reset() warnings 2016-06-24 10:18:19 -07:00
gpio-brcmstb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-bt8xx.c
gpio-clps711x.c
gpio-crystalcove.c gpio: Fix checkpatch.pl issues 2015-06-16 11:00:06 +02:00
gpio-cs5535.c
gpio-da9052.c gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +02:00
gpio-da9055.c gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +02:00
gpio-davinci.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-dln2.c gpio: dln2: fix build breakage 2015-05-13 10:02:12 +02:00
gpio-dwapb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-em.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02:00
gpio-ep93xx.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-etraxfs.c gpio: etraxfs: use container_of() to get state container 2015-10-02 04:19:31 -07:00
gpio-f7188x.c gpio: Fix checkpatch.pl issues 2015-06-16 11:00:06 +02:00
gpio-ge.c gpio: ge: Convert to use devm_kstrdup 2015-01-29 10:33:15 +01:00
gpio-generic.c gpio: generic: clamp values from bgpio_get_set() 2015-12-17 15:47:38 +01:00
gpio-grgpio.c gpio/grgpio: fix deadlock in grgpio_irq_unmap() 2015-08-17 10:56:24 +02:00
gpio-ich.c gpio: ich: Implement get_direction function 2015-04-08 09:54:27 +02:00
gpio-intel-mid.c gpio: intel-mid: Fix build warning when !CONFIG_PM 2018-02-25 11:03:42 +01:00
gpio-iop.c gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2018-02-03 17:04:25 +01:00
gpio-it87.c gpio: add GPIO support for IT87xx, replacing gpio-it8761e 2015-10-02 04:19:35 -07:00
gpio-janz-ttl.c
gpio-kempld.c gpio: gpio-kempld: Fix get_direction return value 2015-05-12 13:49:13 +02:00
gpio-ks8695.c
gpio-loongson.c gpio: loongson: Add Loongson-3A/3B GPIO driver support 2015-04-08 09:53:42 +02:00
gpio-lp3943.c
gpio-lpc18xx.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-lpc32xx.c
gpio-lynxpoint.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-max730x.c gpio: max730x: eliminate double free 2015-10-02 15:06:41 -07:00
gpio-max732x.c gpio: max732x: Fix error handling in probe() 2015-08-26 13:34:55 +02:00
gpio-max7300.c gpio: max7300: remove 'ret' variable 2015-04-08 09:54:10 +02:00
gpio-max7301.c gpio: max7301: fix driver for use with CONFIG_VMAP_STACK 2019-01-13 10:05:27 +01:00
gpio-mb86s7x.c gpio: mb86s70: Return error if requesting an already assigned gpio 2015-03-02 15:35:41 +01:00
gpio-mc9s08dz60.c
gpio-mc33880.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-mcp23s08.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-ml-ioh.c gpio: ml-ioh: Fix buffer underwrite on probe error path 2018-09-19 22:48:58 +02:00
gpio-mm-lantiq.c
gpio-moxart.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-mpc8xxx.c gpio: mpc8xxx: Correct irq handler function 2016-10-28 03:01:25 -04:00
gpio-mpc5200.c
gpio-msic.c gpio: msic: fix error return code in platform_msic_gpio_probe() 2018-11-10 07:41:39 -08:00
gpio-mvebu.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-mxc.c gpio-mxc: stop including <asm-generic/bug> 2015-10-15 00:21:12 +02:00
gpio-mxs.c Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-18 08:11:42 -07:00
gpio-octeon.c
gpio-omap.c gpio: omap: drop omap1 mpuio specific irq_mask/unmask callbacks 2015-11-30 13:50:21 +01:00
gpio-palmas.c gpio: palmas: fix a possible NULL dereference 2015-11-17 14:40:24 +01:00
gpio-pca953x.c gpio: pca953x: Fix NBANK calculation for PCA9536 2016-08-20 18:09:17 +02:00
gpio-pcf857x.c gpio: pcf857x: get rid of slock spinlock 2015-07-16 10:44:57 +02:00
gpio-pch.c gpio/pch: Use irq_set_handler_locked() 2015-07-14 12:12:20 +02:00
gpio-pl061.c gpio: pl061: use the generic request/free implementations 2015-10-16 22:17:14 +02:00
gpio-pxa.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-rc5t583.c
gpio-rcar.c gpio: rcar: Add Runtime PM handling for interrupts 2018-05-26 08:49:00 +02:00
gpio-rdc321x.c
gpio-sa1100.c gpio: sa1100: fix irq probing for ucb1x00 2016-10-07 15:23:42 +02:00
gpio-samsung.c
gpio-sch.c Revert "gpio: sch: use uapi/linux/pci_ids.h directly" 2015-04-10 11:35:45 +02:00
gpio-sch311x.c
gpio-sodaville.c irqdomain: Use irq_domain_get_of_node() instead of direct field access 2015-10-13 19:01:23 +02:00
gpio-spear-spics.c
gpio-sta2x11.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02:00
gpio-stmpe.c
gpio-stp-xway.c gpio: stp-xway: Use the of_property_read_u32 helper 2015-06-02 11:22:02 +02:00
gpio-sx150x.c gpio: sx150x: use container_of() to get state container 2015-10-02 04:19:32 -07:00
gpio-syscon.c gpio: syscon: fix a possible NULL dereference 2015-11-17 14:39:22 +01:00
gpio-tb10x.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-tc3589x.c gpio: tc3589x: use static container helper 2015-08-27 14:06:33 +02:00
gpio-tegra.c gpio: tegra: Move driver registration to subsys_init level 2018-09-19 22:48:56 +02:00
gpio-timberdale.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-tps6586x.c
gpio-tps65910.c
gpio-tps65912.c gpio: tps65912: fix wrong container_of arguments 2015-02-23 15:40:32 +01:00
gpio-ts5500.c gpio: Constify platform_device_id 2015-05-12 09:41:28 +02:00
gpio-twl4030.c
gpio-twl6040.c
gpio-tz1090-pdc.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-tz1090.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-ucb1400.c
gpio-vf610.c gpio: vf610: Mask all GPIO interrupts 2019-03-23 08:44:25 +01:00
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
gpio-xgene-sb.c gpio: xgene: add ACPI support for APM X-Gene GPIO standby driver 2015-06-02 14:52:00 +02:00
gpio-xgene.c gpio: xgene: mark PM functions as __maybe_unused 2018-02-25 11:03:50 +01:00
gpio-xilinx.c gpio/xilinx: Use correct address when setting initial values. 2015-07-16 13:28:33 +02:00
gpio-xlp.c gpio: xlp: Convert to use gpiolib irqchip helpers 2015-10-22 14:36:41 +02:00
gpio-xtensa.c
gpio-zevio.c gpio: zevio: Use of_mm_gpiochip_remove 2015-01-20 11:18:56 +01:00
gpio-zx.c gpio: gpio-xz: use the generic request/free implementations 2015-10-16 22:15:51 +02:00
gpio-zynq.c gpio: zynq: use container_of() to get state container 2015-10-02 04:19:33 -07:00
gpiolib-acpi.c Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
gpiolib-legacy.c Revert "gpiolib: Split GPIO flags parsing and GPIO configuration" 2016-07-27 09:47:29 -07:00
gpiolib-of.c gpiolib-of: Rename gpio_hog functions to be generic 2015-09-24 10:48:51 -07:00
gpiolib-sysfs.c Revert "gpio-sysfs: Use gpio descriptor name instead of gpiochip names array" 2015-10-05 13:07:47 +02:00
gpiolib.c gpio: No NULL owner 2018-06-16 09:54:26 +02:00
gpiolib.h gpiolib: Mark gpio_suffixes array with __maybe_unused 2018-09-26 08:35:09 +02:00
Kconfig gpio: Fix OF build problem on UM 2016-09-07 08:32:43 +02:00
Makefile gpio: Add GPIO support for the ACCES 104-IDIO-16 2015-10-27 11:01:19 +01:00