Linus Walleij
48057ed184
gpio: Fix irqchip initialization order
...
The new API for registering a gpio_irq_chip along with a
gpio_chip has a different semantic ordering than the old
API which added the irqchip explicitly after registering
the gpio_chip.
Move the calls to add the gpio_irq_chip *last* in the
function, so that the different hooks setting up OF and
ACPI and machine gpio_chips are called *before* we try
to register the interrupts, preserving the elder semantic
order.
This cropped up in the PL061 driver which used to work
fine with no special ACPI quirks, but started to misbehave
using the new API.
Fixes: e0d8972898 ("gpio: Implement tighter IRQ chip integration")
Cc: Thierry Reding <treding@nvidia.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Reported-by: Wei Xu <xuwei5@hisilicon.com>
Tested-by: Wei Xu <xuwei5@hisilicon.com>
Reported-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20190820080527.11796-1-linus.walleij@linaro.org
2019-08-23 11:00:43 +02:00
..
gpio-74x164.c
gpio: 74x164: Convert to use SPDX identifier
2019-03-26 18:38:07 +01:00
gpio-74xx-mmio.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-104-dio-48e.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-104-idi-48.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-104-idio-16.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-adnp.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-adp5520.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149
2019-05-30 11:25:18 -07:00
gpio-adp5588.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149
2019-05-30 11:25:18 -07:00
gpio-altera-a10sr.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-altera.c
gpio: altera: Pass irqchip when adding gpiochip
2019-07-03 10:24:12 +02:00
gpio-amd-fch.c
drivers: gpio: amd-fch: make resource struct const
2019-07-03 10:10:32 +02:00
gpio-amd8111.c
gpio-amdpt.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-arizona.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-aspeed.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-ath79.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-bcm-kona.c
drivers: gpio: bcm-kona: use devm_platform_ioremap_resource()
2019-04-05 00:04:25 +07:00
gpio-bd9571mwv.c
gpio-bd70528.c
gpio: Initial support for ROHM bd70528 GPIO block
2019-06-27 10:57:24 +01:00
gpio-brcmstb.c
gpio-bt8xx.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
gpio-cadence.c
drivers: gpio: cadence: use devm_platform_ioremap_resource()
2019-04-05 00:04:26 +07:00
gpio-clps711x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-creg-snps.c
gpio-crystalcove.c
gpio-cs5535.c
docs: driver-model: move it to the driver-api book
2019-07-15 11:03:02 -03:00
gpio-da9052.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-da9055.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-davinci.c
gpio: davinci: silence error prints in case of EPROBE_DEFER
2019-07-15 11:52:34 +02:00
gpio-dln2.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372
2019-06-05 17:37:10 +02:00
gpio-dwapb.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-eic-sprd.c
gpio: eic-sprd: Use devm_platform_ioremap_resource()
2019-06-27 15:56:51 +01:00
gpio-em.c
gpio: em: remove the gpiochip before removing the irq domain
2019-07-15 11:52:42 +02:00
gpio-ep93xx.c
gpio: ep93xx: Use devm_platform_ioremap_resource()
2019-06-27 15:56:51 +01:00
gpio-exar.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-f7188x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-ftgpio010.c
gpio: ftgpio: Pass irqchip when adding gpiochip
2019-06-14 10:16:15 +02:00
gpio-ge.c
gpio-gpio-mm.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-grgpio.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-gw-pld.c
gpio-hlwd.c
drivers: gpio: hlwd: use devm_platform_ioremap_resource()
2019-04-05 00:04:26 +07:00
gpio-htc-egpio.c
gpio-ich.c
gpio-intel-mid.c
gpio-iop.c
Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2019-07-15 21:10:39 -07:00
gpio-it87.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 300
2019-06-05 17:37:00 +02:00
gpio-ixp4xx.c
gpio: ixp4xx: Use irq_domain_translate_twocell()
2019-05-28 10:28:15 +02:00
gpio-janz-ttl.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-kempld.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294
2019-06-05 17:36:38 +02:00
gpio-ks8695.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02:00
gpio-loongson.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-loongson1.c
drivers: gpio: loongon1: use devm_platform_ioremap_resource()
2019-04-05 00:04:26 +07:00
gpio-lp873x.c
gpio-lp3943.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372
2019-06-05 17:37:10 +02:00
gpio-lp87565.c
gpio-lpc18xx.c
drivers: gpio: lpc18xx: use devm_platform_ioremap_resource()
2019-04-05 00:04:26 +07:00
gpio-lpc32xx.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
2019-05-30 11:26:37 -07:00
gpio-lynxpoint.c
gpio-madera.c
gpio: madera: Fixup SPDX headers
2019-06-26 09:40:33 +02:00
gpio-max730x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max732x.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-max3191x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max7300.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max7301.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max77620.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422
2019-06-05 17:37:15 +02:00
gpio-max77650.c
gpio: max77650: Add GPIO support
2019-05-08 12:06:58 +01:00
gpio-mb86s7x.c
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2019-07-08 11:01:13 -07:00
gpio-mc9s08dz60.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
2019-05-30 11:26:37 -07:00
gpio-mc33880.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176
2019-05-30 11:29:19 -07:00
gpio-menz127.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
2019-06-05 17:37:17 +02:00
gpio-merrifield.c
gpio: merrifield: Fix build err without CONFIG_ACPI
2019-04-23 11:30:59 +02:00
gpio-ml-ioh.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167
2019-05-30 11:26:39 -07:00
gpio-mlxbf.c
gpio: mlxbf: remove unused including <linux/version.h>
2019-04-08 08:47:06 +02:00
gpio-mm-lantiq.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-mmio.c
gpio: mmio: Drop bgpio_dir_inverted
2019-04-08 11:17:43 +02:00
gpio-mockup.c
gpio: mockup: no need to check return value of debugfs_create functions
2019-06-27 15:54:19 +02:00
gpio-mpc8xxx.c
gpio-mpc5200.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02:00
gpio-msic.c
gpio-mt7621.c
drivers: gpio: mt7621: use devm_platform_ioremap_resource()
2019-04-05 00:04:27 +07:00
gpio-mvebu.c
gpio: pass lookup and descriptor flags to request_own
2019-06-07 23:20:23 +02:00
gpio-mxc.c
drivers: gpio: mxc: use devm_platform_ioremap_resource()
2019-04-05 00:04:27 +07:00
gpio-mxs.c
gpio-octeon.c
drivers: gpio: octeon: use devm_platform_ioremap_resource()
2019-04-05 00:04:27 +07:00
gpio-omap.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-palmas.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-pca953x.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-pcf857x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
gpio-pch.c
gpio-pci-idio-16.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-pcie-idio-24.c
gpio-pisosr.c
gpio-pl061.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-pmic-eic-sprd.c
gpio-pxa.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-raspberrypi-exp.c
gpio-rc5t583.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-rcar.c
gpio: rcar: Pedantic formatting
2019-06-27 15:56:50 +01:00
gpio-rdc321x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
gpio-reg.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 233
2019-06-19 17:09:06 +02:00
gpio-sa1100.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-sama5d2-piobu.c
gpio-sch.c
gpio: sch: Remove write-only core_base
2019-04-23 13:08:33 +02:00
gpio-sch311x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-siox.c
gpio: siox: Use devm_ managed gpiochip
2019-07-03 10:24:02 +02:00
gpio-sodaville.c
gpio-spear-spics.c
drivers: gpio: spear-spics: use devm_platform_ioremap_resource()
2019-04-05 00:04:27 +07:00
gpio-sprd.c
drivers: gpio: sprd: use devm_platform_ioremap_resource()
2019-04-05 00:04:26 +07:00
gpio-sta2x11.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02:00
gpio-stmpe.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 464
2019-06-19 17:09:10 +02:00
gpio-stp-xway.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-syscon.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-tb10x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02:00
gpio-tc3589x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 464
2019-06-19 17:09:10 +02:00
gpio-tegra.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-tegra186.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 233
2019-06-19 17:09:06 +02:00
gpio-thunderx.c
gpio: thunderx: Use the default parent apis for {request,release}_resources
2019-05-01 10:41:38 +01:00
gpio-timberdale.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176
2019-05-30 11:29:19 -07:00
gpio-tpic2810.c
gpio-tps6586x.c
gpio-tps65086.c
gpio-tps65218.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 111
2019-05-24 17:39:01 +02:00
gpio-tps65910.c
gpio-tps65912.c
gpio-tps68470.c
gpio-tqmx86.c
gpio-ts4800.c
drivers: gpio: ts4800: use devm_platform_ioremap_resource()
2019-04-05 00:04:28 +07:00
gpio-ts4900.c
gpio-ts5500.c
gpio-twl4030.c
gpio-twl6040.c
gpio-ucb1400.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-uniphier.c
drivers: gpio: uniphier: use devm_platform_ioremap_resource()
2019-04-05 00:04:28 +07:00
gpio-vf610.c
gpio: vf610: Use PTR_ERR_OR_ZERO() in vf610_gpio_probe()
2019-05-28 10:28:14 +02:00
gpio-viperboard.c
gpio-vr41xx.c
gpio: vr41xx: Use devm_platform_ioremap_resource()
2019-06-27 15:56:51 +01:00
gpio-vx855.c
gpio-wcove.c
gpio-winbond.c
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
gpio-ws16c48.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-xgene-sb.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
gpio-xgene.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234
2019-06-19 17:09:07 +02:00
gpio-xilinx.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-xlp.c
drivers: gpio: xlp: devm_platform_ioremap_resource()
2019-04-05 00:04:28 +07:00
gpio-xra1403.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-xtensa.c
gpio-zevio.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-zx.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-zynq.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpiolib-acpi.c
gpio: pass lookup and descriptor flags to request_own
2019-06-07 23:20:23 +02:00
gpiolib-devprop.c
gpiolib: devprop: Fix syntax error
2019-04-08 11:20:12 +02:00
gpiolib-devres.c
gpiolib-legacy.c
gpiolib-of.c
gpio: of: fix Freescale SPI CS quirk handling
2019-08-17 00:28:50 +02:00
gpiolib-sysfs.c
gpiolib.c
gpio: Fix irqchip initialization order
2019-08-23 11:00:43 +02:00
gpiolib.h
gpiolib: Use spinlock_t instead of struct spinlock
2019-07-06 20:14:22 +02:00
Kconfig
docs conversion for v5.3-rc1
2019-07-16 12:21:41 -07:00
Makefile
- Core Frameworks
2019-07-15 20:18:40 -07:00
TODO
gpio: Add GPIOLIB_IRQCHIP cleanup to TODO
2019-06-14 10:16:15 +02:00