linux/drivers/gpio
Linus Walleij 45ad7db90b gpio: revert get() to non-errorprogating behaviour
commit e20538b82f
("gpio: Propagate errors from chip->get()")
started to propagate errors from the .get() functions since
we can get errors from the infrastructure of e.g. slowbus
GPIO expanders.

However it turns out a bunch of drivers relied on the core
to clamp the value, so we need to revert to the old behaviour
and go over all drivers and fix them to conform to the
expectations of the core before we go back to propagating
the error code.

Cc: stable@vger.kernel.org # 4.3+
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Fixes: e20538b82f ("gpio: Propagate errors from chip->get()")
Reported-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-12-17 15:48:29 +01:00
..
devres.c gpio: make flags mandatory for gpiod_get functions 2015-07-06 10:39:24 +02:00
gpio-74x164.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-74xx-mmio.c gpio: 74xx: fix a possible NULL dereference 2015-11-17 14:39:17 +01:00
gpio-104-idio-16.c gpio: Add GPIO support for the ACCES 104-IDIO-16 2015-10-27 11:01:19 +01:00
gpio-adnp.c
gpio-adp5520.c
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-amdpt.c gpio: driver for AMD Promontory 2015-10-26 14:45:26 +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: Fix the logic to clear offset bit of AR71XX_GPIO_REG_OE register 2015-12-11 19:12:57 +01: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-clps711x.c
gpio-crystalcove.c gpio: Fix checkpatch.pl issues 2015-06-16 11:00:06 +02:00
gpio-cs5535.c
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: clamp values from bgpio_get_set() 2015-12-17 15:47:38 +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: 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-it87.c gpio: add GPIO support for IT87xx, replacing gpio-it8761e 2015-10-02 04:19:35 -07:00
gpio-janz-ttl.c
gpio-kempld.c gpio: gpio-kempld: Fix get_direction return value 2015-05-12 13:49:13 +02:00
gpio-ks8695.c
gpio-loongson.c gpio: loongson: Add Loongson-3A/3B GPIO driver support 2015-04-08 09:53:42 +02:00
gpio-lp3943.c
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-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 spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09: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-mc33880.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-mcp23s08.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
gpio-ml-ioh.c
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 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-omap.c gpio: omap: drop omap1 mpuio specific irq_mask/unmask callbacks 2015-11-30 13:50:21 +01:00
gpio-palmas.c gpio: palmas: fix a possible NULL dereference 2015-11-17 14:40:24 +01: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-rcar.c gpio: rcar: Add r8a7795 (R-Car H3) support 2015-07-27 14:51:40 +02:00
gpio-rdc321x.c
gpio-sa1100.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-samsung.c
gpio-sch311x.c
gpio-sch.c Revert "gpio: sch: use uapi/linux/pci_ids.h directly" 2015-04-10 11:35:45 +02: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-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: fix a possible NULL dereference 2015-11-17 14:39:22 +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 gpio-tegra: Do not create the debugfs entry by default 2015-11-17 15:18:51 +01:00
gpio-timberdale.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
gpio-tps6586x.c
gpio-tps65910.c
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-twl6040.c
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-vf610.c gpio: replace trivial implementations of request/free with generic one 2015-10-16 22:13:43 +02:00
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c gpio: vx855: Switch to use managed resources APIs 2015-01-15 17:23:18 +01:00
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
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-xilinx.c gpio/xilinx: Use correct address when setting initial values. 2015-07-16 13:28:33 +02:00
gpio-xlp.c gpio: xlp: Convert to use gpiolib irqchip helpers 2015-10-22 14:36:41 +02:00
gpio-xtensa.c
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 Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08: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 gpio: revert get() to non-errorprogating behaviour 2015-12-17 15:48:29 +01:00
gpiolib.h Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
Kconfig gpio: fix up SPI submenu 2015-11-01 10:50:19 +01:00
Makefile gpio: Add GPIO support for the ACCES 104-IDIO-16 2015-10-27 11:01:19 +01:00