linux-yocto/drivers/pinctrl
Mike Looijmans eb295874a4 pinctrl: mcp23s08: Reset all pins to input at probe
[ Upstream commit 3ede3f8b4b ]

At startup, the driver just assumes that all registers have their
default values. But after a soft reset, the chip will just be in the
state it was, and some pins may have been configured as outputs. Any
modification of the output register will cause these pins to be driven
low, which leads to unexpected/unwanted effects. To prevent this from
happening, set the chip's IO configuration register to a known safe
mode (all inputs) before toggling any other bits.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Link: https://lore.kernel.org/20250314151803.28903-1-mike.looijmans@topic.nl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-27 11:05:32 +01:00
..
actions
aspeed pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T 2024-05-17 11:50:44 +02:00
bcm pinctrl: bcm281xx: Use "unsigned int" instead of bare "unsigned" 2025-06-04 14:37:59 +02:00
berlin
cirrus pinctrl: lochnagar: Don't build on MIPS 2024-01-25 14:52:27 -08:00
freescale pinctrl: freescale: fix COMPILE_TEST error with PINCTRL_IMX_SCU 2024-12-14 19:51:40 +01:00
intel
mediatek pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE 2024-05-17 11:50:45 +02:00
meson pinctrl: meson: define the pull up/down resistor value as 60 kOhm 2025-06-04 14:38:04 +02:00
mvebu pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get() 2025-06-27 11:05:32 +01:00
nomadik
nuvoton
pxa
qcom pinctrl: qcom: Clear latched interrupt status when changing IRQ type 2025-05-02 07:44:06 +02:00
ralink
renesas pinctrl: renesas: rzg2l: Fix missing of_node_put() call 2025-04-10 14:32:00 +02:00
samsung
spear
sprd
stm32
sunxi
tegra pinctrl: tegra: Set SFIO mode to Mux Register 2025-04-10 14:32:00 +02:00
ti pinctrl: ti: ti-iodelay: fix possible memory leak when pinctrl_enable() fails 2024-08-19 05:45:09 +02:00
uniphier
visconti
vt8500
core.c pinctrl: core: fix possible memory leak when pinctrl_enable() fails 2024-08-19 05:45:08 +02:00
core.h
devicetree.c pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map 2025-06-04 14:38:02 +02:00
devicetree.h
Kconfig
Makefile
pinconf-generic.c
pinconf.c
pinconf.h
pinctrl-amd.c
pinctrl-amd.h
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c
pinctrl-at91.c pinctrl: at91: Fix possible out-of-boundary access 2025-06-27 11:05:13 +01:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl-bm1880.c
pinctrl-da850-pupd.c
pinctrl-da9062.c
pinctrl-digicolor.c
pinctrl-equilibrium.c
pinctrl-equilibrium.h
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c
pinctrl-k210.c pinctrl: k210: Undef K210_PC_DEFAULT 2024-12-14 19:51:04 +01:00
pinctrl-keembay.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c
pinctrl-mcp23s08_i2c.c
pinctrl-mcp23s08_spi.c
pinctrl-mcp23s08.c pinctrl: mcp23s08: Reset all pins to input at probe 2025-06-27 11:05:32 +01:00
pinctrl-mcp23s08.h
pinctrl-microchip-sgpio.c
pinctrl-ocelot.c pinctrl: ocelot: fix system hang on level based interrupts 2024-10-22 15:40:46 +02:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins 2024-09-04 13:23:37 +02:00
pinctrl-rockchip.h pinctrl: rockchip: use dedicated pinctrl type for RK3328 2024-07-05 09:14:39 +02:00
pinctrl-single.c pinctrl: single: fix missing error code in pcs_probe() 2024-10-17 15:11:01 +02:00
pinctrl-st.c
pinctrl-stmfx.c
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c
pinctrl-zynqmp.c pinctrl: zynqmp: drop excess struct member description 2024-12-14 19:51:00 +01:00
pinmux.c
pinmux.h