linux/drivers/gpio
Laurent Pinchart 923b93e451 gpiolib: Split GPIO flags parsing and GPIO configuration
When requesting a GPIO through the legacy or the gpiod_* API the
gpiochip request operation is first called and then the GPIO flags are
parsed and the GPIO is configured. This prevents the gpiochip from
rejecting the request if the flags are not supported by the device.

To fix this split the parse-and-configure operation in two and parse
flags before requesting the GPIO.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-10-16 22:46:46 +02:00
..
devres.c gpio: make flags mandatory for gpiod_get functions 2015-07-06 10:39:24 +02:00
gpio-74x164.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-74xx-mmio.c gpio: 74xx: Fix build warning about void to integer cast 2015-07-16 13:59:47 +02:00
gpio-adnp.c gpio: adnp: switch to use irqchip helpers 2014-09-02 10:44:01 +02: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: altera: use container_of() to get state container 2015-10-02 04:19:32 -07:00
gpio-amd8111.c gpio-amd8111: add release_region on ioport_map failure 2015-01-19 09:48:45 +01:00
gpio-arizona.c gpio: arizona: add support for WM8998 and WM1814 2015-10-02 04:19:34 -07:00
gpio-ath79.c gpio: ath79: Convert to the state container design pattern 2015-10-02 04:19:34 -07:00
gpio-bcm-kona.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02: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: Fix checkpatch.pl issues 2015-06-16 11:00:06 +02: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 genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-dln2.c gpio: dln2: fix build breakage 2015-05-13 10:02:12 +02:00
gpio-dwapb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-em.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02: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: Fix checkpatch.pl issues 2015-06-16 11:00:06 +02:00
gpio-ge.c gpio: ge: Convert to use devm_kstrdup 2015-01-29 10:33:15 +01:00
gpio-generic.c gpio: generic: use error pointers 2015-10-05 09:16:28 +02:00
gpio-grgpio.c gpio/grgpio: fix deadlock in grgpio_irq_unmap() 2015-08-17 10:56:24 +02:00
gpio-ich.c gpio: ich: Implement get_direction function 2015-04-08 09:54:27 +02:00
gpio-intel-mid.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02: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: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-kempld.c gpio: gpio-kempld: Fix get_direction return value 2015-05-12 13:49:13 +02: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: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-lpc18xx.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-lpc32xx.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-lynxpoint.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-max730x.c gpio: max730x: eliminate double free 2015-10-02 15:06:41 -07:00
gpio-max732x.c gpio: max732x: Fix error handling in probe() 2015-08-26 13:34:55 +02:00
gpio-max7300.c gpio: max7300: remove 'ret' variable 2015-04-08 09:54:10 +02:00
gpio-max7301.c gpio: max7301: Reverting "Do not force SPI speed when using OF Platform" 2013-08-23 19:44:28 +02:00
gpio-mb86s7x.c gpio: mb86s70: Return error if requesting an already assigned gpio 2015-03-02 15:35:41 +01:00
gpio-mc9s08dz60.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mc33880.c gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +02:00
gpio-mcp23s08.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02: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: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02: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 genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-mvebu.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-mxc.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-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: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-omap.c gpio: omap: fix static checker warning 2015-10-16 16:37:07 +02:00
gpio-palmas.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-pca953x.c gpio: pca953x: support ACPI devices found on Galileo Gen2 2015-10-05 10:57:22 +02:00
gpio-pcf857x.c gpio: pcf857x: get rid of slock spinlock 2015-07-16 10:44:57 +02:00
gpio-pch.c gpio/pch: Use irq_set_handler_locked() 2015-07-14 12:12:20 +02:00
gpio-pl061.c gpio: pl061: use the generic request/free implementations 2015-10-16 22:17:14 +02:00
gpio-pxa.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-rc5t583.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-rcar.c gpio: rcar: Add r8a7795 (R-Car H3) support 2015-07-27 14:51:40 +02: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: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-sch.c Revert "gpio: sch: use uapi/linux/pci_ids.h directly" 2015-04-10 11:35:45 +02:00
gpio-sodaville.c gpio: Constify irq_domain_ops 2015-05-06 15:33:48 +02:00
gpio-spear-spics.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-sta2x11.c gpio: kill off set_irq_flags usage 2015-07-28 09:45:39 +02:00
gpio-stmpe.c gpio: stmpe: enforce device tree only mode 2015-01-20 11:03:22 +01:00
gpio-stp-xway.c gpio: stp-xway: Use the of_property_read_u32 helper 2015-06-02 11:22:02 +02:00
gpio-sx150x.c gpio: sx150x: use container_of() to get state container 2015-10-02 04:19:32 -07:00
gpio-syscon.c gpio: syscon: reduce message level when direction reg offset not in dt 2015-03-27 11:17:08 +01:00
gpio-tb10x.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-tc3589x.c gpio: tc3589x: use static container helper 2015-08-27 14:06:33 +02:00
gpio-tegra.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-timberdale.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-tps6586x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps65910.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps65912.c gpio: tps65912: fix wrong container_of arguments 2015-02-23 15:40:32 +01:00
gpio-ts5500.c gpio: Constify platform_device_id 2015-05-12 09:41:28 +02:00
gpio-twl4030.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-twl6040.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-tz1090-pdc.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-tz1090.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02: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: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-viperboard.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-vr41xx.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-vx855.c gpio: vx855: Switch to use managed resources APIs 2015-01-15 17:23:18 +01:00
gpio-wm831x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm8350.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm8994.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02: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: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-xilinx.c gpio/xilinx: Use correct address when setting initial values. 2015-07-16 13:28:33 +02:00
gpio-xlp.c gpio: xlp: fix error return code 2015-08-26 14:49:23 +02:00
gpio-xtensa.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-zevio.c gpio: zevio: Use of_mm_gpiochip_remove 2015-01-20 11:18:56 +01:00
gpio-zx.c gpio: gpio-xz: use the generic request/free implementations 2015-10-16 22:15:51 +02:00
gpio-zynq.c gpio: zynq: use container_of() to get state container 2015-10-02 04:19:33 -07:00
gpiolib-acpi.c treewide: fix typos in comment blocks 2015-08-07 14:46:24 +02:00
gpiolib-legacy.c gpiolib: Split GPIO flags parsing and GPIO configuration 2015-10-16 22:46:46 +02:00
gpiolib-of.c gpiolib-of: Rename gpio_hog functions to be generic 2015-09-24 10:48:51 -07:00
gpiolib-sysfs.c Revert "gpio-sysfs: Use gpio descriptor name instead of gpiochip names array" 2015-10-05 13:07:47 +02:00
gpiolib.c gpiolib: Split GPIO flags parsing and GPIO configuration 2015-10-16 22:46:46 +02:00
gpiolib.h gpio: Introduce gpio descriptor 'name' 2015-09-24 10:48:51 -07:00
Kconfig gpio: add GPIO support for IT87xx, replacing gpio-it8761e 2015-10-02 04:19:35 -07:00
Makefile gpio: add GPIO support for IT87xx, replacing gpio-it8761e 2015-10-02 04:19:35 -07:00