Andrew Lunn
7ae710f9f8
gpio: vf610: Mask all GPIO interrupts
...
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>
2019-01-28 15:28:43 +01:00
..
gpio-74x164.c
gpio-74xx-mmio.c
gpio-104-dio-48e.c
gpio: 104-dio-48e: Mask read inputs for get_multiple
2018-11-05 08:54:41 +01:00
gpio-104-idi-48.c
gpio: 104-idi-48e: Mask the read inputs for get_multiple
2018-11-05 08:54:41 +01:00
gpio-104-idio-16.c
gpio-adnp.c
gpio-adp5520.c
drivers: gpio: Update MODULE AUTHOR email address
2018-08-29 13:30:25 +02:00
gpio-adp5588.c
This is the bulk of GPIO changes for the v4.20 series:
2018-10-23 08:45:05 +01:00
gpio-altera-a10sr.c
gpio: altera-a10sr: Set proper output level for direction_output
2019-01-23 17:24:02 +01:00
gpio-altera.c
gpio-amd8111.c
gpio-amdpt.c
gpio-arizona.c
gpio-aspeed.c
gpio: aspeed: remove duplicated statement
2018-12-21 11:14:11 +01:00
gpio-ath79.c
gpio: fix meaningless return expression
2018-07-29 23:34:54 +02:00
gpio-bcm-kona.c
gpio-bcm-kona: use new req/relres and dis/enable_irq funcs
2018-09-10 08:57:36 +02:00
gpio-bd9571mwv.c
gpio-brcmstb.c
gpio: brcmstb: allow 0 width GPIO banks
2018-08-30 11:04:50 +02:00
gpio-bt8xx.c
gpio-cadence.c
gpio: Add Cadence GPIO driver
2018-12-21 11:41:00 +01:00
gpio-clps711x.c
gpio-creg-snps.c
GPIO: add single-register GPIO via CREG driver
2018-10-10 09:21:06 +02:00
gpio-crystalcove.c
gpio-cs5535.c
gpio-da9052.c
gpio-da9055.c
gpio-davinci.c
gpio: davinci: restore a way to manually specify the GPIO base
2018-11-26 16:45:10 +05:30
gpio-dln2.c
gpio-dwapb.c
gpio: gpio-dwapb: simplify getting .driver_data
2018-11-05 08:54:41 +01:00
gpio-eic-sprd.c
gpio: sprd: Fix incorrect irq type setting for the async EIC
2019-01-23 17:24:01 +01:00
gpio-em.c
gpio: em: Don't shadow error code of gpiochip_lock_as_irq()
2018-08-06 23:46:55 +02:00
gpio-ep93xx.c
gpio: ep93xx: fix test for end of loop
2018-09-10 08:48:24 +02:00
gpio-exar.c
gpio-f7188x.c
gpio-ftgpio010.c
gpio: ftgpio: Support debounce timer
2018-08-30 09:14:54 +02:00
gpio-ge.c
gpio-gpio-mm.c
gpio: gpio-mm: Mask read inputs for get_multiple
2018-11-05 08:54:41 +01:00
gpio-grgpio.c
drivers/gpio/gpio-grgpio.c: Remove duplicate header
2018-11-19 15:09:22 +01:00
gpio-hlwd.c
gpio-htc-egpio.c
gpio: htc-egpio: Remove set but not used variable 'bit'
2018-10-01 12:27:19 +02:00
gpio-ich.c
gpio: ich: Convert to use SPDX identifier
2018-12-07 17:34:07 +02:00
gpio-intel-mid.c
gpio: intel-mid: Convert to use SPDX identifier
2018-12-07 17:34:07 +02:00
gpio-iop.c
gpio-it87.c
gpio: it87: Add support for IT8613
2018-08-10 23:19:17 +02:00
gpio-janz-ttl.c
gpio-kempld.c
gpio-ks8695.c
gpio: ks8695: Change to use DEFINE_SHOW_ATTRIBUTE macro
2018-12-07 11:10:14 +01:00
gpio-loongson.c
gpio-loongson1.c
gpio-lp873x.c
gpio-lp3943.c
gpio-lp87565.c
gpio-lpc18xx.c
gpio: lpc18xx: fix GPIO controller driver build as a module
2018-12-10 09:10:46 +01:00
gpio-lpc32xx.c
gpio-lynxpoint.c
intel-gpio for v4.21-1
2018-12-14 14:27:41 +01:00
gpio-madera.c
gpio-max730x.c
gpio-max732x.c
gpio-max3191x.c
gpiolib: Pass array info to get/set array functions
2018-09-13 11:16:54 +02:00
gpio-max7300.c
gpio-max7301.c
gpio: max7301: fix driver for use with CONFIG_VMAP_STACK
2018-12-21 09:23:45 +01:00
gpio-max77620.c
regmap: regmap-irq/gpio-max77620: add level-irq support
2018-12-19 18:35:45 +00:00
gpio-mb86s7x.c
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-menz127.c
gpio-merrifield.c
gpio: merrifield: Convert to use SPDX identifier
2018-12-07 17:34:08 +02:00
gpio-ml-ioh.c
gpio: ml-ioh: Fix buffer underwrite on probe error path
2018-07-29 23:13:09 +02:00
gpio-mm-lantiq.c
gpio-mmio.c
gpio: Use SPDX header for core library
2018-09-25 09:08:48 +02:00
gpio-mockup.c
gpio: mockup: fix indicated direction
2018-11-16 23:06:29 +01:00
gpio-mpc8xxx.c
gpio-mpc5200.c
gpio-msic.c
gpio-mt7621.c
gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack
2018-12-07 10:47:24 +01:00
gpio-mvebu.c
This is the bulk of GPIO changes for the v4.21 kernel series:
2018-12-28 20:00:21 -08:00
gpio-mxc.c
gpio: mxc: move gpio noirq suspend/resume to syscore phase
2018-11-16 22:56:54 +01:00
gpio-mxs.c
gpio: mxs: read pin level directly instead of using .get
2018-12-21 11:29:57 +01:00
gpio-octeon.c
gpio-omap.c
This is the bulk of GPIO changes for the v4.21 kernel series:
2018-12-28 20:00:21 -08:00
gpio-palmas.c
gpio-pca953x.c
gpio: pca953x: Make symbol 'pca953x_i2c_regmap' static
2019-01-11 09:16:40 +01:00
gpio-pcf857x.c
gpio: pcf857x: Fix interrupts on multiple instances
2019-01-23 17:24:01 +01:00
gpio-pch.c
gpio: pch: Convert to use SPDX identifier
2018-12-07 17:34:08 +02:00
gpio-pci-idio-16.c
gpio: pci-idio-16: Mask read inputs for get_multiple
2018-11-05 08:54:42 +01:00
gpio-pcie-idio-24.c
gpio: pcie-idio-24: Mask read inputs for get_multiple
2018-11-05 08:54:42 +01:00
gpio-pisosr.c
gpio-pisosr: add support for get_multiple
2018-07-29 21:55:33 +02:00
gpio-pl061.c
gpio: pl061: Move irq_chip definition inside struct pl061
2018-11-05 08:54:42 +01:00
gpio-pmic-eic-sprd.c
gpio-pxa.c
gpio: pxa: fix legacy non pinctrl aware builds again
2018-11-16 23:06:29 +01:00
gpio-raspberrypi-exp.c
gpio: raspberrypi-exp: decrease refcount on firmware dt node
2018-12-17 15:28:30 +01:00
gpio-rc5t583.c
gpio-rcar.c
gpio: rcar: reference device instead of platform device
2018-12-05 22:52:31 +01:00
gpio-rdc321x.c
gpio-reg.c
gpio-sa1100.c
gpio-sama5d2-piobu.c
gpio: add driver for SAMA5D2 PIOBU pins
2018-12-21 10:55:57 +01:00
gpio-sch.c
gpio: sch: Convert to use SPDX identifier
2018-12-07 17:34:08 +02:00
gpio-sch311x.c
gpio: sch311x: clean an indentation issue, remove extraneous space
2018-11-05 08:54:42 +01:00
gpio-siox.c
gpio: new driver to work with a 8x12 siox
2018-09-28 09:30:42 +02:00
gpio-sodaville.c
gpio: sodaville: Convert to use SPDX identifier
2018-12-07 17:34:08 +02:00
gpio-spear-spics.c
gpio-sprd.c
gpio-sta2x11.c
gpio-stmpe.c
gpio-stp-xway.c
gpio: stp-xway: Include the right header
2018-07-02 16:00:49 +02:00
gpio-syscon.c
gpio: syscon: Fix possible NULL ptr usage
2018-10-10 10:33:11 +02:00
gpio-tb10x.c
gpio: tb10x: Use GENERIC_GPIO
2018-08-29 08:53:37 +02:00
gpio-tc3589x.c
gpio-tegra.c
gpio: gpio-tegra: simplify getting .driver_data
2018-11-05 08:54:41 +01:00
gpio-tegra186.c
gpio: tegra186: Rename flow variable to type
2018-12-14 14:34:10 +01:00
gpio-thunderx.c
gpio-timberdale.c
gpio: timberdale: Include the right header
2018-08-10 23:04:27 +02:00
gpio-tpic2810.c
gpio-tps6586x.c
gpio: tps65xxx: Use SPDX license tag
2018-09-04 08:22:47 +02:00
gpio-tps65086.c
gpio: tps65xxx: Use SPDX license tag
2018-09-04 08:22:47 +02:00
gpio-tps65218.c
gpio-tps65910.c
gpio: tps65xxx: Use SPDX license tag
2018-09-04 08:22:47 +02:00
gpio-tps65912.c
gpio: tps65xxx: Use SPDX license tag
2018-09-04 08:22:47 +02:00
gpio-tps68470.c
gpio-ts4800.c
gpio-ts4900.c
gpio-ts5500.c
gpio: ts5500: Delete platform data handling
2018-09-04 08:22:47 +02:00
gpio-twl4030.c
gpio: twl4030: Implement .get_direction()
2018-09-10 08:48:51 +02:00
gpio-twl6040.c
gpio: twl6040: Implement .get_direction()
2018-09-10 08:49:22 +02:00
gpio-ucb1400.c
gpio-uniphier.c
gpio: uniphier: convert to SPDX License Identifier
2018-12-07 13:40:28 +01:00
gpio-vf610.c
gpio: vf610: Mask all GPIO interrupts
2019-01-28 15:28:43 +01:00
gpio-viperboard.c
gpio: viperboard: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-vr41xx.c
gpio: vr41xx: Delete vr41xx_gpio_pullupdown() callback
2018-09-17 10:55:24 -07:00
gpio-vx855.c
gpio: vx855: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-wcove.c
gpio-winbond.c
gpio-wm831x.c
gpio: wm8xxx: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-wm8350.c
gpio: wm8xxx: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-wm8994.c
gpio: wm8xxx: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-ws16c48.c
gpio: ws16c48: Mask read inputs for get_multiple
2018-11-05 08:54:42 +01:00
gpio-xgene-sb.c
gpio: xgene-sb: Don't shadow error code of gpiochip_lock_as_irq()
2018-08-06 23:46:55 +02:00
gpio-xgene.c
gpio-xilinx.c
gpio: xilinx: Use the right include
2018-08-10 23:19:17 +02:00
gpio-xlp.c
gpio: xlp: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-xra1403.c
gpio-xtensa.c
gpio: xtensa: Cut down on boilerplate
2018-09-17 10:55:24 -07:00
gpio-zevio.c
gpio: zevio: Include the right header
2018-09-04 08:22:47 +02:00
gpio-zx.c
gpio-zynq.c
gpio: zynq: Report gpio direction at boot
2018-12-07 13:37:25 +01:00
gpiolib-acpi.c
gpiolib-acpi: Remove unnecessary WARN_ON from acpi_gpiochip_free_interrupts
2019-01-07 09:23:23 +01:00
gpiolib-devprop.c
Accept partial 'gpio-line-names' property.
2018-10-01 13:15:06 +02:00
gpiolib-devres.c
gpio: Add devm_gpiod_unhinge()
2018-12-11 01:04:23 +00:00
gpiolib-legacy.c
gpio: Use SPDX header for core library
2018-09-25 09:08:48 +02:00
gpiolib-of.c
gpio/mmc/of: Respect polarity in the device tree
2018-12-17 23:31:07 +01:00
gpiolib-sysfs.c
gpio: Use SPDX header for core library
2018-09-25 09:08:48 +02:00
gpiolib.c
gpiolib: fix line event timestamps for nested irqs
2019-01-23 17:24:01 +01:00
gpiolib.h
gpio: Export gpiod_get_from_of_node()
2018-12-11 01:04:04 +00:00
Kconfig
gpio: sama5d2-piobu: Depend on OF_GPIO
2018-12-22 11:08:06 +01:00
Makefile
gpio: Add Cadence GPIO driver
2018-12-21 11:41:00 +01:00
TODO
gpio: Add global TODO file for GPIO
2018-11-05 08:54:40 +01:00