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 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.cc13xx_cc26xx drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.esp32 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.gd32 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
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 nxp_imx: rt: add XBARA Inter-Peripheral Crossbar Switch Kconfig option 2022-07-01 16:23:11 +00:00
Kconfig.it8xxx2 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.kinetis drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.lpc_iocon drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.npcx drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.nrf drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
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 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.rpi_pico drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.rv32m1 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.sam drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.sam0 drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.sifive drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.smartbond drivers: pinctrl: Add driver for smartbond 2022-08-31 20:32:03 +02:00
Kconfig.stm32 drivers: pinctrl: stm32: Kconfig: add missing dependency 2022-08-08 14:17:45 +02:00
Kconfig.ti_k3 drivers: pinctrl: Add pinctrl support for TI K3 devices 2023-03-02 13:50:06 +01:00
Kconfig.xec drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.xlnx drivers: pinctrl: Update drivers to use devicetree Kconfig symbol 2022-07-25 05:46:42 -05:00
Kconfig.xmc4xxx drivers: pinctrl: Add pinctrl driver for xmc4xxx 2022-09-09 16:28:41 -04:00
pfc_rcar.c include: add missing arch/cpu.h include 2022-10-11 18:05:17 +02:00
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 drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
pinctrl_esp32.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
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: npcx: add pinctrl support for psl pads 2022-07-07 14:12:52 +00:00
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 drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
pinctrl_rv32m1.c drivers: pinmux: rv32m1: drop driver 2023-02-23 16:56:04 -05:00
pinctrl_sam.c drivers: gpio: sam: Update to use clock control 2023-03-21 14:12:25 -07:00
pinctrl_sam0.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
pinctrl_sifive.c include: add missing arch/cpu.h include 2022-10-11 18:05:17 +02:00
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 devices: constify statically initialized device pointers 2022-08-19 11:51:26 +02:00
pinctrl_xmc4xxx.c drivers: pinctrl: Add pinctrl driver for xmc4xxx 2022-09-09 16:28:41 -04:00