linux/drivers/pinctrl
Amelie Delaunay 63e006c107 pinctrl: stmfx: fix valid_mask init sequence
With stmfx_pinctrl_gpio_init_valid_mask callback, gpio_valid_mask was used
to initialize gpiochip valid_mask for gpiolib. But gpio_valid_mask was not
yet initialized. gpio_valid_mask required gpio-ranges to be registered,
this is the case after gpiochip_add_data call. But init_valid_mask
callback is also called under gpiochip_add_data. gpio_valid_mask
initialization cannot be moved before gpiochip_add_data because
gpio-ranges are not registered.
So, it is not possible to use init_valid_mask callback.
To avoid this issue, get rid of valid_mask and rely on ranges.

Fixes: da9b142ab2 ("pinctrl: stmfx: Use the callback to populate valid_mask")
Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
Link: https://lore.kernel.org/r/20191104100908.10880-1-amelie.delaunay@st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-11-07 10:06:46 +01:00
..
actions
aspeed pinctrl: aspeed-g6: Rename SD3 to EMMC and rework pin groups 2019-10-16 15:58:27 +02:00
bcm pinctrl: iproc: allow for error from platform_get_irq() 2019-10-05 18:36:57 +02:00
berlin pinctrl: berlin: as370: fix a typo s/spififib/spdifib 2019-10-16 14:12:55 +02:00
cirrus pinctrl: madera: Add configuration for Cirrus Logic CS47L92 2019-08-05 11:48:03 +02:00
freescale pinctrl: freescale: imx: Add of_node_put() before return 2019-08-10 10:29:19 +02:00
intel pinctrl: cherryview: Allocate IRQ chip dynamic 2019-10-25 12:54:10 +03:00
mediatek This is the bulk of pin control changes for the v5.3 kernel 2019-07-13 15:02:27 -07:00
meson pinctrl: meson-gxbb: Fix wrong pinning definition for uart_c 2019-09-13 14:40:41 +02:00
mvebu pinctrl: armada-37xx: swap polarity on LED group 2019-10-09 10:00:58 +02:00
nomadik pinctrl: nomadik: abx500: Add of_node_put() before return 2019-08-06 14:51:59 +02:00
nuvoton
pxa treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
qcom This is the bulk of pin control changes for the v5.4 kernel 2019-09-19 14:19:33 -07:00
samsung
sh-pfc pinctrl: sh-pfc: Unlock on error in sh_pfc_func_set_mux() 2019-09-12 12:59:43 +01:00
sirf
spear pinctrl: spear: spear: Add of_node_put() before return 2019-08-06 16:18:49 +02:00
sprd pinctrl: sprd: Add of_node_put() before return to prevent memory leak 2019-08-10 10:22:50 +02:00
stm32 pinctrl: stm32: stm32: Add of_node_put() before return 2019-08-10 10:21:51 +02:00
sunxi pinctrl: sunxi: v3s: introduce support for V3 2019-08-05 12:35:29 +02:00
tegra pinctrl: tegra: Flush pinctrl writes during resume 2019-08-21 09:00:16 +02:00
ti
uniphier pinctrl: uniphier: Fix Pro5 SD pin-mux setting 2019-08-05 13:21:31 +02:00
vt8500 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
zte treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
core.c pinctrl/gpio: Take MUX usage into account 2019-08-23 11:09:41 +02:00
core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
devicetree.c pinctrl: devicetree: Use strlen() instead of hardcoded number 2019-08-05 13:29:29 +02:00
devicetree.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
Kconfig Pin control fixes for v5.2: 2019-05-28 09:35:04 -07:00
Makefile
pinconf-generic.c This is the bulk of pin control changes for the v5.3 kernel 2019-07-13 15:02:27 -07:00
pinconf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pinconf.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pinctrl-amd.c pinctrl: amd: disable spurious-firing GPIO IRQs 2019-08-23 09:56:03 +02:00
pinctrl-amd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
pinctrl-at91.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 434 2019-06-05 17:37:16 +02:00
pinctrl-at91.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pinctrl-axp209.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pinctrl-bm1880.c pinctrl: Add drive strength support for BM1880 SoC 2019-06-08 01:29:42 +02:00
pinctrl-coh901.c pinctrl: Minimize SPDX hamming distance 2019-06-20 10:54:55 +02:00
pinctrl-coh901.h
pinctrl-da850-pupd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
pinctrl-digicolor.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pinctrl-falcon.c pinctrl: falcon: Add of_node_put() before return 2019-08-06 14:50:04 +02:00
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: Ingenic: Add pinctrl driver for X1500. 2019-07-29 23:42:08 +02:00
pinctrl-lantiq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
pinctrl-lantiq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
pinctrl-lpc18xx.c
pinctrl-max77620.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Fix add_data and irqchip_add_nested call order 2019-06-25 14:14:26 +02:00
pinctrl-ocelot.c pinctrl: ocelot: fix pinmuxing for pins after 31 2019-06-25 15:42:31 +02:00
pinctrl-oxnas.c pinctrl: Remove dev_err() usage after platform_get_irq() 2019-08-05 13:24:06 +02:00
pinctrl-palmas.c
pinctrl-pic32.c pinctrl: Remove dev_err() usage after platform_get_irq() 2019-08-05 13:24:06 +02:00
pinctrl-pic32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 445 2019-06-05 17:37:18 +02:00
pinctrl-pistachio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
pinctrl-rk805.c pinctrl: rk805: Make structures constant 2019-08-21 09:00:16 +02:00
pinctrl-rockchip.c pinctrl: rockchip: Mark expected switch fall-through 2019-08-05 12:32:27 +02:00
pinctrl-rza1.c pinctrl: rza1: Add of_node_put() before return 2019-08-23 09:08:10 +02:00
pinctrl-rza2.c pinctrl: rza2: Include the appropriate headers 2019-08-23 09:08:10 +02:00
pinctrl-rzn1.c pinctrl: rzn1: Add of_node_put() before return 2019-08-05 09:23:57 +02:00
pinctrl-single.c
pinctrl-st.c pinctrl: st: Add of_node_put() before return 2019-08-21 12:04:35 +02:00
pinctrl-stmfx.c pinctrl: stmfx: fix valid_mask init sequence 2019-11-07 10:06:46 +01:00
pinctrl-sx150x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
pinctrl-tb10x.c This is the bulk of pin control changes for the v5.3 kernel 2019-07-13 15:02:27 -07:00
pinctrl-u300.c pinctrl: Minimize SPDX hamming distance 2019-06-20 10:54:55 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c pinctrl: xway: Use devm_kasprintf() instead of fixed buffer formatting 2019-08-05 13:31:17 +02:00
pinctrl-zynq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
pinmux.c pinctrl/gpio: Take MUX usage into account 2019-08-23 11:09:41 +02:00
pinmux.h pinctrl/gpio: Take MUX usage into account 2019-08-23 11:09:41 +02:00