u-boot/drivers/gpio
Marek Vasut aaf5b59230 gpio: Use separate bitfield array to indicate GPIO is claimed
The current gpio-uclass design uses name field in struct gpio_dev_priv as
an indicator that GPIO is claimed by consumer. This overloads the function
of name field and does not work well for named pins not configured as GPIO
pins.

Introduce separate bitfield array as the claim indicator.

This unbreaks dual-purpose AF and GPIO operation on STM32MP since commit
2c38f7c318 ("pinctrl: pinctrl_stm32: Populate uc_priv->name[] with pinmux node's name")
where any pin which has already been configured as AF could no longer be
claimed as dual-purpose GPIO. This is important for pins like STM32 MMCI
st,cmd-gpios .

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-14 17:55:53 -04:00
..
74x164_gpio.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
adp5585_gpio.c gpio: adp5585: add gpio driver for ADP5585 I/O Expander Controller 2022-10-21 16:06:13 -04:00
altera_pio.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
at91_gpio.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
atmel_pio4.c pinctrl: at91-pio4: Bind GPIO driver to the pinctrl DT node 2022-09-19 09:51:04 +03:00
axp_gpio.c gpio: axp/sunxi: Remove virtual VBUS detection GPIO 2023-04-28 01:30:24 +01:00
bcm2835_gpio.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
bcm6345_gpio.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
cortina_gpio.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
da8xx_gpio.c gpio: da8xx_gpio: Fix gpio name with address 2022-01-16 08:31:03 -05:00
da8xx_gpio.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
dwapb_gpio.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
ftgpio010.c gpio: ftgpio010: Add support for Faraday Technology FTGPIO010 2022-10-06 21:05:17 -04:00
gpio-aspeed.c gpio: aspeed: Fix incorrect offset of read back register. 2022-04-19 14:51:11 -04:00
gpio-fxl6408.c global: Use proper project name U-Boot 2023-06-12 13:24:31 +02:00
gpio-rcar.c gpio: renesas: Simplify .request/.rfree callbacks 2023-05-16 22:24:24 +02:00
gpio-rza1.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
gpio-uclass.c gpio: Use separate bitfield array to indicate GPIO is claimed 2023-08-14 17:55:53 -04:00
gpio-uniphier.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
gpio_slg7xl45106.c gpio: slg7xl45106: Update gpio desc flags from DT 2022-04-05 15:13:13 +02:00
hi6220_gpio.c WS cleanup: remove excessive empty lines 2021-09-30 08:08:56 -04:00
hsdk-creg-gpio.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
imx_rgpio2p.c gpio: rgpio2p: Enhance reading of GPIO pin value 2022-05-23 11:37:58 +02:00
intel_broadwell_gpio.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
intel_gpio.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00
intel_ich6_gpio.c x86: Convert some debug statements to use logging 2023-07-17 17:23:14 +08:00
iproc_gpio.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
Kconfig gpio: Add QUICC Engine GPIOs driver 2023-04-06 14:50:03 +02:00
kw_gpio.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lpc32xx_gpio.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
Makefile gpio: Add QUICC Engine GPIOs driver 2023-04-06 14:50:03 +02:00
max7320_gpio.c drivers/gpio: add support for MAX7320 i2c i/o expander 2021-10-19 11:25:24 -04:00
mcp230xx_gpio.c gpio: mcp230xx: Introduce new driver 2021-08-22 10:53:14 +02:00
mpc8xx_gpio.c driver, gpio: Add support for MPC 8xx CPU ports 2023-02-11 08:47:58 +01:00
mpc8xxx_gpio.c gpio: mpc8xxx: Support controller register physical address beyond 32-bit 2021-03-05 10:25:43 +05:30
mpc83xx_spisel_boot.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
mscc_sgpio.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
msm_gpio.c arm: dts: qcom: Sync pinctrl DT nodes with Linux bindings 2022-08-26 10:55:46 -04:00
mt7620_gpio.c gpio: add GPIO controller driver for MediaTek MT7620 SoC 2021-01-24 21:39:26 +01:00
mt7621_gpio.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
mvebu_gpio.c gpio: mvebu_gpio: Set bank name to mvebu%d 2022-07-28 15:17:46 +02:00
mxc_gpio.c arm: Remove unused mx27 code 2022-12-05 16:07:13 -05:00
mxs_gpio.c treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
nmk_gpio.c gpio: Add driver for Nomadik GPIO 2021-07-14 16:47:56 -04:00
npcm_gpio.c pinctrl: nuvoton: set output state before enabling the output 2023-06-01 12:32:03 -04:00
nx_gpio.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
octeon_gpio.c pci: Add mask parameter to dm_pci_map_bar() 2022-05-03 18:33:29 -04:00
omap_gpio.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00
pca953x.c global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
pca953x_gpio.c gpio: pca953x: support pcal6524 2022-07-26 11:29:00 +02:00
pcf8575_gpio.c i2c: pcf8575: Add support for 8 bit I2C IO expanders (like pca8574) 2021-07-23 07:13:25 -04:00
pic32_gpio.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
qcom_pmic_gpio.c gpio: qcom: add direction functions for pwrkey 2023-02-10 12:50:00 -05:00
qe_gpio.c gpio: Add QUICC Engine GPIOs driver 2023-04-06 14:50:03 +02:00
rk_gpio.c gpio: rockchip: Add support for RK3568 and RK3588 banks 2023-04-21 15:16:01 +08:00
s5p_gpio.c SoC: exynos: add support for exynos 78x0 2021-10-31 11:25:39 -04:00
sandbox.c gpio: sandbox: Add GPIOD_IS_AF for gpio configured in alternate function 2022-09-15 09:55:30 -04:00
sandbox_test.c dm: gpio: Add of-platdata support 2021-09-25 09:46:15 -06:00
sh_pfc.c pinctrl: renesas: Add R8A779F0 S4 PFC tables 2023-04-07 17:13:28 +02:00
sifive-gpio.c gpio: sifive: Fix -Wint-to-pointer-cast warning 2021-10-20 10:59:09 +08:00
sl28cpld-gpio.c gpio: add sl28cpld driver 2022-02-28 11:59:35 +05:30
stm32_gpio.c gpio: stm32_gpio: Rework GPIO hole management 2022-05-10 13:54:48 +02:00
stm32_gpio_priv.h gpio: stm32_gpio: Rework GPIO hole management 2022-05-10 13:54:48 +02:00
sunxi_gpio.c gpio: axp/sunxi: Remove virtual VBUS detection GPIO 2023-04-28 01:30:24 +01:00
tca642x.c global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
tegra186_gpio.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
tegra186_gpio_priv.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
tegra_gpio.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
turris_omnia_mcu.c gpio: turris_omnia_mcu: Fix registering gpios 2022-09-26 10:04:37 +02:00
vybrid_gpio.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
xilinx_gpio.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
zynq_gpio.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
zynqmp_gpio_modepin.c gpio: zynqmp: Handle error from get_gpio_modepin 2023-01-27 08:42:47 +01:00