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 pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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 pinctrl: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
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 drivers/pinctrl: remove redundant ret variable 2022-01-24 01:12:54 +01:00
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 pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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 pinctrl: ti: fix error return code of ti_iodelay_dt_node_to_map() 2021-04-08 15:57:14 +02:00
uniphier pinctrl: uniphier: Add USB device pinmux settings 2022-02-11 01:37:21 +01:00
visconti
vt8500 pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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 pinctrl: pinconf-generic: Print arguments for bias-pull-* 2022-03-15 01:24:15 +01:00
pinconf.c pinctrl: use to octal permissions for debugfs files 2021-03-10 14:41:58 +01:00
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: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
pinctrl-digicolor.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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: gemini: fix typos 2021-10-14 01:22:58 +02:00
pinctrl-ingenic.c pinctrl: Ingenic: JZ4755 bug fixes 2022-10-17 11:47:38 +02:00
pinctrl-k210.c pinctrl: k210: Fix bias-pull-up 2022-02-11 02:19:47 +01:00
pinctrl-keembay.c pinctrl: keembay: rework loops looking for groups names 2021-12-22 02:57:27 +01:00
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
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: mcp23s08: Add optional reset GPIO 2021-06-12 01:58:10 +02:00
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: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
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 This is the bulk of pin control changes for the v5.15 kernel cycle, 2021-09-02 14:22:56 -07:00
pinctrl-st.c pinctrl: st: stop abusing of_get_named_gpio() 2022-10-04 09:58:17 +02:00
pinctrl-stmfx.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-sx150x.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
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: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-zynq.c pinctrl: zynq: use module_platform_driver to simplify the code 2022-03-15 01:46:13 +01:00
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 pinctrl: add one more "const" for generic function groups 2021-12-22 02:57:27 +01:00
pinmux.h pinctrl: add one more "const" for generic function groups 2021-12-22 02:57:27 +01:00