linux_dsm_epyc7002/drivers/gpio
Geert Uytterhoeven 902e7e6008 gpio: 74x164: Use a single SPI transfer instead of multiple transfers
Currently the 74x164 driver assembles an SPI message from an array of
one-byte SPI transfers, one for each daisy-chained shift register, as
the first byte sent will end up in the last register.
This array is allocated and deallocated on each GPIO write access.

By storing the data in the internal buffer in reverse order, we can
use a single SPI transfer with the internal buffer directly, simplifying
the code a lot, and avoiding memory (de)allocations.

This also avoids transient values on the GPIO outputs when using an SPI
master that cannot keep the hardware chip select asserted in between
multiple transfers (and would need cs-gpios for proper operation).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Mark Brown <broonie@kernel.org>
[Rebased changing .dev to .parent]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-12-10 17:21:02 +01:00
..
devres.c gpio: make flags mandatory for gpiod_get functions 2015-07-06 10:39:24 +02:00
gpio-74x164.c gpio: 74x164: Use a single SPI transfer instead of multiple transfers 2015-12-10 17:21:02 +01:00
gpio-74xx-mmio.c gpio: 74xx: Fix build warning about void to integer cast 2015-07-16 13:59:47 +02:00
gpio-104-idi-48.c gpio: Add GPIO support for the ACCES 104-IDI-48 2015-12-01 09:56:36 +01:00
gpio-104-idio-16.c gpio: 104-idio-16: Disable IRQ on device probe 2015-11-30 14:42:06 +01:00
gpio-adnp.c gpio: Drop owner assignment from i2c_driver 2015-11-30 09:31:00 +01:00
gpio-adp5520.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-adp5588.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02:00
gpio-altera.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-amd8111.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-amdpt.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-arizona.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-ath79.c gpio: use dev_get_platdata() 2015-11-30 16:41:26 +01:00
gpio-bcm-kona.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-brcmstb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-bt8xx.c gpio: bt8xx: fix release of managed resources 2014-08-29 14:31:43 +02:00
gpio-clps711x.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-crystalcove.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-cs5535.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-da9052.c gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +02:00
gpio-da9055.c gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +02:00
gpio-davinci.c gpio: davinci: fix missed parent conversion 2015-12-04 14:15:05 +01:00
gpio-dln2.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-dwapb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-em.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-ep93xx.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-etraxfs.c gpio: etraxfs: use container_of() to get state container 2015-10-02 04:19:31 -07:00
gpio-f7188x.c gpio: use dev_get_platdata() 2015-11-30 16:41:26 +01:00
gpio-ge.c gpio: ge: Convert to use devm_kstrdup 2015-01-29 10:33:15 +01:00
gpio-generic.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-grgpio.c gpio/grgpio: fix deadlock in grgpio_irq_unmap() 2015-08-17 10:56:24 +02:00
gpio-ich.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-intel-mid.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-iop.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-it87.c gpio: add GPIO support for IT87xx, replacing gpio-it8761e 2015-10-02 04:19:35 -07:00
gpio-janz-ttl.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-kempld.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-ks8695.c gpio: ks8695: fix 'else should follow close brace '}'' 2014-10-02 16:07:00 +02:00
gpio-loongson.c gpio: loongson: Add Loongson-3A/3B GPIO driver support 2015-04-08 09:53:42 +02:00
gpio-lp3943.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-lpc18xx.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-lpc32xx.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-lynxpoint.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-max730x.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-max732x.c gpio: Drop owner assignment from i2c_driver 2015-11-30 09:31:00 +01:00
gpio-max7300.c gpio: Drop owner assignment from i2c_driver 2015-11-30 09:31:00 +01:00
gpio-max7301.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-mb86s7x.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-mc9s08dz60.c gpio: Drop owner assignment from i2c_driver 2015-11-30 09:31:00 +01:00
gpio-mc33880.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-mcp23s08.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-ml-ioh.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mm-lantiq.c gpio: gpio-mm-lantiq: Use of_mm_gpiochip_remove 2015-01-20 11:18:51 +01:00
gpio-moxart.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-mpc8xxx.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-mpc5200.c gpio: mpc5200: Use of_mm_gpiochip_remove 2015-01-20 11:18:28 +01:00
gpio-msic.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-mvebu.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-mxc.c gpio-mxc: stop including <asm-generic/bug> 2015-10-15 00:21:12 +02:00
gpio-mxs.c Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-18 08:11:42 -07:00
gpio-octeon.c gpio: use dev_get_platdata() 2015-11-30 16:41:26 +01:00
gpio-omap.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-palmas.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-pca953x.c gpio: pca953x: make inclusion of <linux/of_platform.h> unconditional 2015-12-09 11:05:59 +01:00
gpio-pcf857x.c gpio: Drop owner assignment from i2c_driver 2015-11-30 09:31:00 +01:00
gpio-pch.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-pl061.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-pxa.c gpio: pxa: change the interrupt management 2015-12-10 16:05:44 +01:00
gpio-rc5t583.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-rcar.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-rdc321x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-sa1100.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-samsung.c gpio: samsung: Remove remaining check for CONFIG_S5P_GPIO_DRVSTR 2014-09-23 17:51:39 +02:00
gpio-sch311x.c gpio: use dev_get_platdata() 2015-11-30 16:41:26 +01:00
gpio-sch.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-sodaville.c irqdomain: Use irq_domain_get_of_node() instead of direct field access 2015-10-13 19:01:23 +02:00
gpio-spear-spics.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-sta2x11.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02:00
gpio-stmpe.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-stp-xway.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-sx150x.c gpio: Drop owner assignment from i2c_driver 2015-11-30 09:31:00 +01:00
gpio-syscon.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tb10x.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tc3589x.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tegra.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-timberdale.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tps6586x.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tps65910.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tps65912.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-ts5500.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-twl4030.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-twl6040.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tz1090-pdc.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-tz1090.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-ucb1400.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-vf610.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-viperboard.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-vr41xx.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-vx855.c gpio: vx855: Switch to use managed resources APIs 2015-01-15 17:23:18 +01:00
gpio-wm831x.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-wm8350.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-wm8994.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-xgene-sb.c gpio: xgene: add ACPI support for APM X-Gene GPIO standby driver 2015-06-02 14:52:00 +02:00
gpio-xgene.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-xilinx.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-xlp.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-xtensa.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-zevio.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-zx.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpio-zynq.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpiolib-acpi.c gpiolib: tighten up ACPI legacy gpio lookups 2015-11-19 09:24:37 +01:00
gpiolib-legacy.c gpiolib: Split GPIO flags parsing and GPIO configuration 2015-10-16 22:46:46 +02:00
gpiolib-of.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpiolib-sysfs.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
gpiolib.c gpiolib: make comment consistent with code 2015-11-29 22:37:10 +01:00
gpiolib.h gpiolib: tighten up ACPI legacy gpio lookups 2015-11-19 09:24:37 +01:00
Kconfig gpio: Add GPIO support for the ACCES 104-IDI-48 2015-12-01 09:56:36 +01:00
Makefile gpio: Add GPIO support for the ACCES 104-IDI-48 2015-12-01 09:56:36 +01:00