linux-uconsole/drivers/gpio
Andrew Lunn eda52fa18e gpio: vf610: Mask all GPIO interrupts
[ Upstream commit 7ae710f9f8 ]

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-13 14:02:29 -07:00
..
devres.c gpio: Export devm_gpiod_get_from_of_node() for consumers 2018-01-12 11:05:24 +01:00
gpio-74x164.c The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
gpio-74xx-mmio.c gpio: 74xx-mmio: Use of_device_get_match_data() 2018-05-16 14:35:24 +02:00
gpio-104-dio-48e.c gpio: 104-dio-48e: make array 'ports' static, shrinks object size 2018-05-16 14:35:24 +02:00
gpio-104-idi-48.c gpio: make several const arrays static, shrinks object size 2018-05-16 14:35:24 +02:00
gpio-104-idio-16.c gpio: 104-idio-16: Implement get_multiple callback 2018-03-26 10:10:18 +02:00
gpio-adnp.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
gpio-adp5520.c gpio: adp5520: Include proper header 2018-01-13 22:12:07 +01:00
gpio-adp5588.c gpio: adp5588: Fix sleep-in-atomic-context bug 2018-08-29 10:54:38 +02:00
gpio-altera-a10sr.c gpio: altera-a10sr: Set proper output level for direction_output 2019-02-06 17:30:12 +01:00
gpio-altera.c gpio: altera: Include GPIO driver header 2018-01-13 22:18:34 +01:00
gpio-amd8111.c gpio: amd8111: Include proper header 2018-01-13 22:22:49 +01:00
gpio-amdpt.c
gpio-arizona.c gpio: arizona: Include proper header 2018-01-13 22:47:48 +01:00
gpio-aspeed.c gpio: aspeed: fix compile testing warning 2018-07-13 09:05:06 +02:00
gpio-ath79.c gpio: fix meaningless return expression 2018-07-29 23:34:54 +02:00
gpio-bcm-kona.c gpio: bcm-kona: Don't shadow error code of gpiochip_lock_as_irq() 2018-08-06 23:46:55 +02:00
gpio-bd9571mwv.c gpio: Add ROHM BD9571MWV-M PMIC GPIO driver 2017-04-28 09:47:46 +02:00
gpio-brcmstb.c gpio: brcmstb: allow 0 width GPIO banks 2018-11-13 11:08:30 -08:00
gpio-bt8xx.c gpio: bt8xx: Include proper header 2018-01-13 22:56:52 +01:00
gpio-clps711x.c
gpio-crystalcove.c gpio: crystalcove: Include proper header 2018-01-14 01:48:48 +01:00
gpio-cs5535.c gpio: cs5535: Include proper header 2018-01-14 01:56:24 +01:00
gpio-da9052.c gpio: da905x: Include proper header 2018-01-14 02:00:10 +01:00
gpio-da9055.c gpio: da905x: Include proper header 2018-01-14 02:00:10 +01:00
gpio-davinci.c gpio: davinci: Do not assume continuous IRQ numbering 2018-06-18 07:55:30 +02:00
gpio-dln2.c gpio: dln2: Include proper header 2018-03-19 01:50:07 +01:00
gpio-dwapb.c gpio: dwapb: Fix error handling in dwapb_gpio_probe() 2018-08-29 14:04:04 +02:00
gpio-eic-sprd.c gpio: sprd: Fix incorrect irq type setting for the async EIC 2019-02-06 17:30:13 +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 pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-exar.c gpio: exar: Use correct property prefix and document bindings 2017-08-01 13:43:55 +02:00
gpio-f7188x.c gpio: f7188x: Add a missing break 2017-04-28 10:09:16 +02:00
gpio-ftgpio010.c gpio: ftgpio010: Drop of_gpio.h include 2018-03-19 01:50:24 +01:00
gpio-ge.c gpio: ge: Fix build warning 2018-05-16 14:35:24 +02:00
gpio-gpio-mm.c gpio: make several const arrays static, shrinks object size 2018-05-16 14:35:24 +02:00
gpio-grgpio.c gpio: grgpio: Include the right header 2018-03-19 01:50:28 +01:00
gpio-hlwd.c gpio: Add GPIO driver for Nintendo Wii 2018-02-22 13:54:35 +01:00
gpio-htc-egpio.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
gpio-ich.c gpio: ich: Use BIT() macro 2018-03-19 01:50:29 +01:00
gpio-ingenic.c gpio: ingenic: Use of_device_get_match_data() 2018-05-16 14:35:24 +02:00
gpio-intel-mid.c gpio-intel-mid: Delete an error message 2018-02-22 15:29:05 +01:00
gpio-iop.c gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2017-12-02 22:42:21 +01:00
gpio-it87.c gpio: it87: Add support for IT8613 2018-08-10 23:19:17 +02:00
gpio-janz-ttl.c gpio: janz-ttl: Use BIT() macro 2018-03-19 01:50:30 +01:00
gpio-kempld.c gpio: kempld: Include the right header 2018-03-19 01:50:31 +01:00
gpio-ks8695.c gpio: ks8695: Include the right header 2018-03-19 01:50:31 +01:00
gpio-loongson.c gpio: loongson: Use BIT() macros 2018-05-16 14:35:24 +02:00
gpio-loongson1.c gpio: loongson1: fix bgpio usage 2017-10-25 11:25:38 +02:00
gpio-lp873x.c gpio: lp873x: Include the right header 2018-05-16 14:35:24 +02:00
gpio-lp3943.c gpio: lp3943: Include the right header 2018-05-16 14:35:24 +02:00
gpio-lp87565.c gpio: lp87565: Set proper output level and direction for direction_output 2017-07-31 15:26:57 +02:00
gpio-lpc18xx.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-lpc32xx.c gpio: lpc32xx: Include the right header 2018-05-16 14:35:24 +02:00
gpio-lynxpoint.c gpio: lynxpoint: Include the right header 2018-05-16 14:35:24 +02:00
gpio-madera.c gpio: madera: Support Cirrus Logic Madera class codecs 2018-06-05 11:15:30 +01:00
gpio-max730x.c gpio: max730x: Include the right header 2018-05-16 14:35:24 +02:00
gpio-max732x.c gpio: max732x: add error handling for i2c_new_dummy 2018-06-18 07:55:30 +02:00
gpio-max3191x.c gpio: Remove VLA from MAX3191X driver 2018-03-27 15:18:06 +02:00
gpio-max7300.c
gpio-max7301.c gpio: max7301: fix driver for use with CONFIG_VMAP_STACK 2018-12-29 13:37:56 +01:00
gpio-max77620.c gpio: max77620: Make regmap_irq_chip const 2017-08-14 16:06:24 +02:00
gpio-mb86s7x.c gpio: mb86s70: Revert "Return error if requesting an already assigned gpio" 2017-10-31 13:13:34 +01:00
gpio-mc9s08dz60.c gpio: mc9s08dz60: Include the right header 2018-05-16 14:35:24 +02:00
gpio-mc33880.c gpio: mc33880: Include the right header 2018-05-16 14:35:24 +02:00
gpio-menz127.c gpio: Fix wrong rounding in gpio-menz127 2018-06-18 07:55:30 +02:00
gpio-merrifield.c gpio: merrifield: Delete an error message 2018-02-22 15:25:40 +01: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: mm-lantiq: Include the right header 2018-05-16 14:35:24 +02:00
gpio-mmio.c gpio: mmio: Fix up inverted direction registers 2018-08-10 23:19:17 +02:00
gpio-mockup.c gpio: mockup: fix indicated direction 2018-12-13 09:16:12 +01:00
gpio-mpc8xxx.c gpio: mpc8xxx: Do not reverse bits using bgpio 2017-10-25 11:25:40 +02:00
gpio-mpc5200.c
gpio-msic.c gpio: msic: Include the right header 2018-05-16 14:35:24 +02:00
gpio-mt7621.c gpio: MT7621: use a per instance irq_chip structure 2019-02-27 10:08:49 +01:00
gpio-mvebu.c gpio: mvebu: only fail on missing clk if pwm is actually to be used 2019-01-13 09:51:03 +01:00
gpio-mxc.c gpio: mxc: move gpio noirq suspend/resume to syscore phase 2019-02-20 10:25:44 +01:00
gpio-mxs.c gpio: mxs: Get rid of external API call 2018-11-13 11:08:14 -08:00
gpio-octeon.c gpio: octeon: Include the right header 2018-05-24 14:22:04 +02:00
gpio-omap.c gpio: omap: Add get/set_multiple() callbacks 2018-08-06 23:46:55 +02:00
gpio-palmas.c gpio: palmas: Include the right header 2018-05-24 14:25:13 +02:00
gpio-pca953x.c gpio: pca953x: suppress interrupts warning when not applicable 2018-07-02 16:00:49 +02:00
gpio-pcf857x.c gpio: pcf857x: Fix interrupts on multiple instances 2019-02-06 17:30:12 +01:00
gpio-pch.c gpio: pch: Include the right header 2018-05-24 17:09:41 +02:00
gpio-pci-idio-16.c gpio: pci-idio-16: Fix port memory offset for get_multiple callback 2018-04-27 00:55:16 +02:00
gpio-pcie-idio-24.c gpio: pcie-idio-24: Fix off-by-one error in get_multiple loop 2018-04-30 10:48:08 +02: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 2019-01-26 09:32:33 +01:00
gpio-pmic-eic-sprd.c gpio: pmic_eic: Add edge trigger emulation for PMIC EIC 2018-05-16 14:35:24 +02:00
gpio-pxa.c gpio: pxa: avoid attempting to set pin direction via pinctrl on MMP2 2019-02-27 10:08:49 +01:00
gpio-raspberrypi-exp.c gpio: raspberrypi-exp: Driver for RPi3 GPIO expander via mailbox service 2018-02-22 13:49:59 +01:00
gpio-rc5t583.c gpio: rc5t583: Include the right header 2018-07-02 16:00:49 +02:00
gpio-rcar.c gpio: rcar: Implement .get_direction() callback 2018-07-13 10:55:26 +02:00
gpio-rdc321x.c gpio: rdc321x: Include the right header 2018-07-02 16:00:49 +02:00
gpio-reg.c gpio: gpio-reg: fix build 2017-12-22 15:24:31 +01:00
gpio-sa1100.c gpio: sa1100: Include the right header 2018-07-02 16:00:49 +02:00
gpio-sch.c gpio: sch: Implement .get_direction() 2018-07-02 16:00:49 +02:00
gpio-sch311x.c gpio: sch311x: Replace unsigned char with u8 2018-07-02 16:00:49 +02:00
gpio-sodaville.c gpio: sodaville: use resource management for irqs 2017-03-15 11:16:36 +01:00
gpio-spear-spics.c gpio: spear-spics: Include the right header 2018-07-02 16:00:49 +02:00
gpio-sprd.c gpio: Add GPIO driver for Spreadtrum SC9860 platform 2018-03-02 11:00:43 +01:00
gpio-sta2x11.c gpio: sta2x11: Inline regs macro 2018-07-02 16:00:49 +02:00
gpio-stmpe.c gpio: stmpe: Include the right header 2018-07-02 16:00:49 +02:00
gpio-stp-xway.c gpio: stp-xway: Include the right header 2018-07-02 16:00:49 +02:00
gpio-syscon.c gpio: syscon: rockchip: add GRF GPIO support for rk3328 2018-08-06 23:46:55 +02:00
gpio-tb10x.c gpio: tb10x: Use the right include 2018-08-10 23:04:27 +02:00
gpio-tc3589x.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-tegra.c This is the bulk of GPIO changes for the v4.19 kernel cycle: 2018-08-15 21:35:38 -07:00
gpio-tegra186.c gpio: tegra186: Add support for Tegra194 2018-07-02 16:01:02 +02:00
gpio-thunderx.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
gpio-timberdale.c gpio: timberdale: Include the right header 2018-08-10 23:04:27 +02:00
gpio-tpic2810.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps6586x.c
gpio-tps65086.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps65218.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-tps65910.c
gpio-tps65912.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps68470.c gpio: tps68470: Update to SPDX license identifier 2018-02-23 15:26:42 +01:00
gpio-ts4800.c gpio: ts4800: Fix module autoload 2016-10-21 14:55:07 +02:00
gpio-ts4900.c gpio: ts4900: Use of_device_get_match_data() 2018-05-16 14:35:24 +02:00
gpio-ts5500.c
gpio-twl4030.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
gpio-twl6040.c gpio: twl6040: remove unneeded forward declaration 2017-08-23 10:20:16 +02:00
gpio-ucb1400.c
gpio-uniphier.c This is the bulk of GPIO changes for the v4.19 kernel cycle: 2018-08-15 21:35:38 -07:00
gpio-vf610.c gpio: vf610: Mask all GPIO interrupts 2019-03-13 14:02:29 -07:00
gpio-viperboard.c
gpio-vr41xx.c gpio: vr41xx: Bail out on gpiochip_lock_as_irq() error 2018-08-06 23:46:55 +02:00
gpio-vx855.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wcove.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-winbond.c gpio: winbond: Add driver 2018-01-09 14:51:00 +01:00
gpio-wm831x.c gpio-wm831x: Use seq_putc() in wm831x_gpio_dbg_show() 2018-02-12 09:36:06 +01:00
gpio-wm8350.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-wm8994.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-ws16c48.c gpio: ws16c48: Implement get_multiple callback 2018-03-26 10:28:19 +02: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: xgene: mark PM functions as __maybe_unused 2017-03-06 14:35:22 +01:00
gpio-xilinx.c gpio: xilinx: Use the right include 2018-08-10 23:19:17 +02:00
gpio-xlp.c gpio: xlp: Use of_device_get_match_data() 2018-05-16 14:35:24 +02:00
gpio-xra1403.c gpio: xra1403: Switch to a fixed upper bound for registers 2018-04-27 01:06:21 +02:00
gpio-xtensa.c
gpio-zevio.c gpio: zevio: make gpio_chip const 2017-08-23 09:21:54 +02:00
gpio-zx.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-zynq.c gpio: zynq: Setup chip->base based on alias ID 2018-05-23 11:43:03 +02:00
gpiolib-acpi.c gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers 2018-12-29 13:37:56 +01:00
gpiolib-devprop.c gpio: fix "gpio-line-names" property retrieval 2017-12-22 15:24:31 +01:00
gpiolib-legacy.c
gpiolib-of.c gpio: Fix crash due to registration race 2018-08-31 11:30:45 +02:00
gpiolib-sysfs.c gpio: sysfs: avoid using kstrtol() in 'value' attribute write 2017-12-20 10:34:58 +01:00
gpiolib.c gpiolib: Fix possible use after free on label 2019-02-12 19:46:57 +01:00
gpiolib.h gpiolib: Mark gpio_suffixes array with __maybe_unused 2018-07-13 09:00:08 +02:00
Kconfig - New Drivers 2018-08-20 15:38:44 -07:00
Makefile - New Drivers 2018-08-20 15:38:44 -07:00