zephyr/drivers/pinctrl
Andrzej Głąbek 3fed0510a6 drivers: pinctrl_nrf: Fix disconnecting of pins
This is a follow-up to commit 223cc3c6bd.

When a peripheral pin is disconnected, the pinctrl driver should skip
applying of GPIO configuration, as there is no pin number available in
such case, but due to an incorrect check, it actually did not skip it
and used an incorrect pin number for that. In nrfx prior to 3.0.0, this
caused an assertion failure, but because of a fallback routine, things
could still work in most cases (when assertions were disabled) as that
GPIO configuration was just applied to P0.31. Hence the bug was not
discovered until now. In the recent nrfx, this causes a null pointer
dereference, so always a crash.
This commit corrects the mentioned check and also uses the term "psel"
instead of "pin" where it is possible that the value is not a correct
pin number, in the hope of preventing a similar problem in the future.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-05-22 12:02:45 +02:00
..
CMakeLists.txt drivers: pinctrl: Add pinctrl support for TI K3 devices 2023-03-02 13:50:06 +01:00
common.c drivers: pinctrl: fix lookup when there are no states 2022-11-11 13:15:02 +01:00
Kconfig drivers: pinctrl: Add pinctrl support for TI K3 devices 2023-03-02 13:50:06 +01:00
Kconfig.b91
Kconfig.cc13xx_cc26xx
Kconfig.esp32
Kconfig.gd32
Kconfig.gecko drivers: pinctrl: Add Silabs Gecko pin controller 2022-12-20 22:50:19 +01:00
Kconfig.ifx_cat1 drivers: pinctrl: Add Infineon CAT1 Pin controller driver 2023-03-01 11:44:57 +01:00
Kconfig.imx
Kconfig.it8xxx2
Kconfig.kinetis
Kconfig.lpc_iocon
Kconfig.npcx
Kconfig.nrf
Kconfig.numicro drivers: pinctrl: add numicro pinctrl driver 2022-12-08 18:46:33 +01:00
Kconfig.nxp_s32 drivers: pinctrl: rename S32 to NXP S32 2023-01-04 16:51:38 +01:00
Kconfig.rcar
Kconfig.rpi_pico
Kconfig.rv32m1
Kconfig.sam
Kconfig.sam0
Kconfig.sifive
Kconfig.smartbond
Kconfig.stm32
Kconfig.ti_k3 drivers: pinctrl: Add pinctrl support for TI K3 devices 2023-03-02 13:50:06 +01:00
Kconfig.xec
Kconfig.xlnx
Kconfig.xmc4xxx
pfc_rcar.c
pinctrl_b91.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
pinctrl_cc13xx_cc26xx.c
pinctrl_esp32.c
pinctrl_gd32_af.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
pinctrl_gd32_afio.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
pinctrl_gecko.c drivers: pinctrl: silabs: add spi handling 2023-01-17 15:37:27 -06:00
pinctrl_ifx_cat1.c drivers: pinctrl: Add Infineon CAT1 Pin controller driver 2023-03-01 11:44:57 +01:00
pinctrl_imx.c drivers: pinctrl: imx: Use sys_write32 function 2023-05-03 17:01:24 -05:00
pinctrl_ite_it8xxx2.c ITE: dts: it82xx2: Add pinctrl node and kscan's pinctrl 2023-04-19 03:48:38 -04:00
pinctrl_kinetis.c drivers: pinctrl: pinctrl_kinetis: Fix port array 2023-03-28 10:23:46 +02:00
pinctrl_lpc_iocon.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
pinctrl_mchp_xec.c drivers: pinctrl: Microchip XEC PINCTRL glitch fix 2023-05-16 18:52:44 -04:00
pinctrl_npcx.c
pinctrl_nrf.c drivers: pinctrl_nrf: Fix disconnecting of pins 2023-05-22 12:02:45 +02:00
pinctrl_numicro.c drivers: pinctrl: add numicro pinctrl driver 2022-12-08 18:46:33 +01:00
pinctrl_nxp_s32.c drivers: pinctrl: rename S32 to NXP S32 2023-01-04 16:51:38 +01:00
pinctrl_rpi_pico.c
pinctrl_rv32m1.c drivers: pinmux: rv32m1: drop driver 2023-02-23 16:56:04 -05:00
pinctrl_sam0.c
pinctrl_sam.c drivers: gpio: sam: Update to use clock control 2023-03-21 14:12:25 -07:00
pinctrl_sifive.c
pinctrl_smartbond.c drivers: spi: Add driver for smartbond 2023-04-20 10:32:40 +02:00
pinctrl_stm32.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
pinctrl_ti_k3.c drivers: pinctrl: Add pinctrl support for TI K3 devices 2023-03-02 13:50:06 +01:00
pinctrl_xlnx_zynq.c
pinctrl_xmc4xxx.c