linux/drivers/pinctrl
Alexandre Belloni 09107a51b0 pinctrl: at91-pio4: implement .get_multiple and .set_multiple
Implement .get_multiple and .set_multiple to allow reading or setting
multiple pins simultaneously. Pins in the same bank will all be switched at
the same time, improving synchronization and performances.

Keep the driver future proof by allowing its use on 64bits platforms if
they ever appear with this IP and we end up with a mismatch between
ATMEL_PIO_NPINS_PER_BANK and BITS_PER_LONG.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Link: https://lore.kernel.org/r/20190918113657.25998-1-alexandre.belloni@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-10-03 10:10:20 +02:00
..
actions treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
aspeed This is the bulk of pin control changes for the v5.4 kernel 2019-09-19 14:19:33 -07:00
bcm pinctrl: bcm: remove redundant assignment to pointer log 2019-09-12 10:25:53 +01:00
berlin treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +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 This is the bulk of pin control changes for the v5.4 kernel 2019-09-19 14:19:33 -07: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: mvebu: add additional variant for standalone CP115 2019-08-27 09:49:22 +02:00
nomadik pinctrl: nomadik: abx500: Add of_node_put() before return 2019-08-06 14:51:59 +02:00
nuvoton pinctrl: nuvoton: npcm7xx: Pass irqchip when adding gpiochip 2019-09-30 23:13:08 +02:00
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 pinctrl: samsung: fix leaked of_node references 2019-04-23 10:59:47 +02:00
sh-pfc pinctrl: sh-pfc: Unlock on error in sh_pfc_func_set_mux() 2019-09-12 12:59:43 +01:00
sirf pinctrl: sirf/atlas7: Pass irqchip when adding gpiochip 2019-09-30 23:13:08 +02:00
spear pinctrl: spear/plgpio: Pass irqchip when adding gpiochip 2019-09-30 23:12:43 +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 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
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 - Core Frameworks 2019-05-14 10:39:08 -07:00
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: artpec6: Drop unused function and rename 2019-04-11 15:41:20 +02:00
pinctrl-as3722.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: implement .get_multiple and .set_multiple 2019-10-03 10:10:20 +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: coh901: Pass irqchip when adding gpiochip 2019-09-30 23:10:01 +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: gemini: Fix up TVC clock group 2018-10-10 21:05:35 +02:00
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: lpc18xx: Use define directive for PIN_CONFIG_GPIO_PIN_INT 2018-11-09 10:23:58 +01:00
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: pic32: Pass irqchip when adding gpiochip 2019-09-30 23:10:41 +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: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
pinctrl-st.c pinctrl: st: Add of_node_put() before return 2019-08-21 12:04:35 +02:00
pinctrl-stmfx.c This is the bulk of pin control changes for the v5.4 kernel 2019-09-19 14:19:33 -07: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