linux/drivers/pinctrl
Horatiu Vultur e9945b2633 pinctrl: ocelot: Fix incorrect trigger of the interrupt.
The interrupt controller can detect only link changes. So in case an
external device generated a level based interrupt, then the interrupt
controller detected correctly the first edge. But the problem was that
the interrupt controller was detecting also the edge when the interrupt
was cleared. So it would generate another interrupt.
The fix for this is to clear the second interrupt but still check the
interrupt line status.

Fixes: c297561bc9 ("pinctrl: ocelot: Fix interrupt controller")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/20221018070959.1322606-1-horatiu.vultur@microchip.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-10-18 10:42:10 +02:00
..
actions
aspeed pinctrl: aspeed: Force to disable the function's signal 2022-08-31 14:14:31 +02:00
bcm These are the pin control changes for the v6.1 kernel cycle: 2022-10-11 10:59:59 -07:00
berlin pinctrl: berlin: fix spelling typo in comment 2022-09-05 14:10:14 +02:00
cirrus
freescale pinctrl: imx8m: kconfig: Fix build error on test compile 2022-09-08 10:06:57 +02:00
intel Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
mediatek pinctrl: mediatek: add mt8188 driver 2022-08-25 14:50:44 +02:00
meson pinctrl: meson: Switch to use fwnode instead of of_node 2022-09-08 10:35:30 +02:00
mvebu pinctrl: armada-37xx: Remove unused macro PIN_GRP() 2022-08-22 10:46:25 +02:00
nomadik pinctrl: nomadik: remove dead code after DB8540 pinctrl removal 2022-09-19 09:35:57 +02:00
nuvoton pinctrl: wpcm450: Correct the fwnode_irq_get() return value check 2022-10-04 09:40:57 +02:00
pxa
qcom pinctrl: qcom: Avoid glitching lines when we first mux to output 2022-10-17 12:28:26 +02:00
ralink pinctrl: ralink: Check for null return of devm_kcalloc 2022-07-11 14:40:17 +02:00
renesas Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
samsung pinctrl: samsung: Finish initializing the gpios before registering them 2022-08-16 12:23:30 +03:00
spear
sprd
starfive pinctrl: starfive: Rename "pinctrl-starfive" to "pinctrl-starfive-jh7100" 2022-10-04 10:47:48 +02:00
stm32 pinctrl: stm32: Switch to use dev_err_probe() helper 2022-09-20 11:16:42 +02:00
sunplus pinctrl: sunplus: Add check for kcalloc 2022-07-11 15:04:19 +02:00
sunxi These are the pin control changes for the v6.1 kernel cycle: 2022-10-11 10:59:59 -07:00
tegra pinctrl: tegra: tegra194: drop unused pin groups 2022-05-04 23:40:05 +02:00
ti
uniphier
visconti
vt8500
core.c pinctrl: core: Use device_match_of_node() helper 2022-07-18 11:38:37 +02:00
core.h
devicetree.c pinctrl: devicetree: Delete usage of driver_deferred_probe_check_state() 2022-06-10 15:57:54 +02:00
devicetree.h
Kconfig These are the pin control changes for the v6.1 kernel cycle: 2022-10-11 10:59:59 -07:00
Makefile pinctrl: Create subdirectory for StarFive drivers 2022-10-04 10:42:11 +02:00
pinconf-generic.c
pinconf.c
pinconf.h
pinctrl-amd.c Interrupt subsystem updates: 2022-10-12 10:23:24 -07:00
pinctrl-amd.h pinctrl: amd: Implement pinmux functionality 2022-06-15 15:54:20 +02:00
pinctrl-apple-gpio.c pinctrl: apple: Use a raw spinlock for the regmap 2022-05-25 09:37:44 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: remove #ifdef CONFIG_PM_SLEEP 2022-07-18 11:38:36 +02:00
pinctrl-at91.c pinctrl: at91: use dev_dbg() instead of printk() 2022-09-03 00:19:23 +02:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: axp209: Support the AXP221/AXP223/AXP809 variant 2022-06-30 14:05:57 +02:00
pinctrl-bm1880.c
pinctrl-cy8c95x0.c pinctrl: cy8c95x0: Align function names in cy8c95x0_pmxops 2022-09-20 11:22:12 +02:00
pinctrl-da850-pupd.c
pinctrl-da9062.c
pinctrl-digicolor.c
pinctrl-equilibrium.c pinctrl: equilibrium: Switch to use fwnode instead of of_node 2022-05-09 13:46:51 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: Switch to use fwnode instead of of_node 2022-05-09 13:46:51 +02:00
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: Ingenic: JZ4755 bug fixes 2022-10-17 11:47:38 +02:00
pinctrl-k210.c
pinctrl-keembay.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c pinctrl: max77620: drop unneeded MODULE_ALIAS 2022-04-22 22:56:46 +02:00
pinctrl-mcp23s08_i2c.c
pinctrl-mcp23s08_spi.c
pinctrl-mcp23s08.c pinctrl: mcp23s08: Drop assignment of default number of OF cells 2022-09-03 00:17:35 +02:00
pinctrl-mcp23s08.h
pinctrl-microchip-sgpio.c These are the pin control changes for the v6.1 kernel cycle: 2022-10-11 10:59:59 -07:00
pinctrl-ocelot.c pinctrl: ocelot: Fix incorrect trigger of the interrupt. 2022-10-18 10:42:10 +02:00
pinctrl-oxnas.c
pinctrl-palmas.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: Correct the fwnode_irq_get() return value check 2022-09-08 15:18:58 +02:00
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: rockchip: add pinmux_ops.gpio_set_direction callback 2022-10-04 09:20:41 +02:00
pinctrl-rockchip.h pinctrl: rockchip: Add RV1126 pinctrl support 2022-08-22 09:51:08 +02:00
pinctrl-single.c
pinctrl-st.c pinctrl: st: stop abusing of_get_named_gpio() 2022-10-04 09:58:17 +02:00
pinctrl-stmfx.c
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-thunderbay.c pinctrl: thunderbay: Use devm_platform_ioremap_resource() 2022-04-23 00:01:55 +02:00
pinctrl-utils.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-utils.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-xway.c
pinctrl-zynq.c
pinctrl-zynqmp.c Revert "pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance" 2022-10-18 09:50:29 +02:00
pinmux.c
pinmux.h