linux/drivers/gpio
Grygorii Strashko 5f982c70a7 gpio: omap: fix omap_gpio_free to not clean up irq configuration
This patch fixes following issue:
- GPIOn is used as IRQ by some dev, for example PCF8575.INT ->  gpio6.11
- PCFx driver knows nothing about type of IRQ line (GPIO or not)
  so it doesn't request gpio and just do request_irq()
- If gpio6.11 will be exported through the sysfs and then un-xeported
then IRQs from PCFx will not be received any more, because
IRQ configuration for gpio6.11 will be cleaned up unconditionally
in omap_gpio_free.

Fix this by removing all GPIO IRQ specific code from omap_gpio_free()
and also do GPIO clean up (change direction to 'in' and disable debounce)
only if corresponding GPIO is not used as IRQ too.
GPIO IRQ will be properly cleaned up by GPIO irqchip code.

Signed-off-by: Grygorii Strashko <grygorii.strashko@linaro.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-06-01 16:50:49 +02:00
..
devres.c gpio: fix constconst in devres 2015-03-17 17:45:59 +01:00
gpio-74x164.c
gpio-74xx-mmio.c GPIO: Add driver for 74xx-ICs with MMIO access 2014-10-21 10:48:04 +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: removing kfree remove functionality 2015-04-08 16:54:01 +02:00
gpio-altera.c altera_gpio_probe() can be static 2015-03-27 09:28:40 +01:00
gpio-amd8111.c gpio-amd8111: add release_region on ioport_map failure 2015-01-19 09:48:45 +01:00
gpio-arizona.c This is the bulk of GPIO changes for the v4.1 development 2015-04-18 08:22:10 -04:00
gpio-bcm-kona.c gpio: bcm-kona: Implement get_direction callback 2015-04-27 15:30:00 +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 drivers/gpio: include <module.h> for modular crystalcove code 2015-05-12 09:37:42 +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 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-dln2.c gpio: dln2: fix build breakage 2015-05-13 10:02:12 +02:00
gpio-dwapb.c gpio: dwapb: Convert to use resource managed APIs 2015-01-15 17:23:21 +01:00
gpio-em.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-ep93xx.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-f7188x.c gpio: f7188x: add GPIO support for F71869A 2015-03-17 17:57:37 +01:00
gpio-ge.c gpio: ge: Convert to use devm_kstrdup 2015-01-29 10:33:15 +01:00
gpio-generic.c gpio: gpio-generic: add flag to read out output value from reg_set 2015-05-11 11:49:02 +02:00
gpio-grgpio.c Linux 3.19-rc5 2015-01-20 11:03:07 +01:00
gpio-ich.c gpio: ich: Implement get_direction function 2015-04-08 09:54:27 +02:00
gpio-intel-mid.c
gpio-iop.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-it8761e.c
gpio-janz-ttl.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-kempld.c gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +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: add lpc18xx gpio driver 2015-05-05 17:50:07 +02:00
gpio-lpc32xx.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-lynxpoint.c Drivers: gpio: Fix spelling errors 2015-05-19 16:52:30 +02:00
gpio-max730x.c
gpio-max732x.c gpio: max732x: Fix irq-events handler 2015-05-06 15:08:54 +02:00
gpio-max7300.c gpio: max7300: remove 'ret' variable 2015-04-08 09:54:10 +02:00
gpio-max7301.c
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 gpio: use (!foo) instead of (foo == NULL) 2015-04-08 09:54:21 +02:00
gpio-mcp23s08.c gpio: removing kfree remove functionality 2015-04-08 16:54:01 +02: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: moxart: get value of output gpio from generic driver 2015-05-11 11:51:29 +02:00
gpio-mpc8xxx.c gpio: mpc8xxx: remove __initdata annotation for mpc8xxx_gpio_ids[] 2015-03-05 10:51:35 +01:00
gpio-mpc5200.c gpio: mpc5200: Use of_mm_gpiochip_remove 2015-01-20 11:18:28 +01:00
gpio-msic.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-msm-v2.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-mvebu.c gpio: mvebu: Fix mask/unmask managment per irq chip type 2015-04-08 16:35:07 +02:00
gpio-mxc.c gpio: Constify platform_device_id 2015-05-12 09:41:28 +02:00
gpio-mxs.c gpio: Constify platform_device_id 2015-05-12 09:41:28 +02: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 omap_gpio_free to not clean up irq configuration 2015-06-01 16:50:49 +02:00
gpio-palmas.c
gpio-pca953x.c Drivers: gpio: Fix spelling errors 2015-05-19 16:52:30 +02:00
gpio-pcf857x.c gpio: pcf857x: Propagate wake-up setting to parent irq controller 2015-03-04 13:50:46 +01:00
gpio-pch.c gpio: pch: Build context save/restore only for PM 2014-10-02 16:07:00 +02:00
gpio-pl061.c gpio: pl061: hook request if gpio-ranges avaiable 2014-12-03 14:44:23 +01:00
gpio-pxa.c gpio: pxa: simplify BANK_OFF macro offset calculation 2015-03-09 14:41:12 +01:00
gpio-rc5t583.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-rcar.c gpio: rcar: Check for irq_set_irq_wake() failures 2015-06-01 15:10:09 +02:00
gpio-rdc321x.c
gpio-sa1100.c ARM: 8281/1: sa1100: move GPIO-related IRQ code to gpio driver 2015-01-29 15:24:49 +00: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-sch.c Revert "gpio: sch: use uapi/linux/pci_ids.h directly" 2015-04-10 11:35:45 +02:00
gpio-sodaville.c
gpio-spear-spics.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-sta2x11.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-stmpe.c gpio: stmpe: enforce device tree only mode 2015-01-20 11:03:22 +01:00
gpio-stp-xway.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-sx150x.c gpio: sx150x: fixup OF support 2015-01-22 09:45:24 +01: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: gpio-tb10x: remove incorrect __exit markup 2015-03-27 11:25:23 +01:00
gpio-tc3589x.c mfd: tc3589x: Enforce device-tree only mode 2015-03-26 14:20:17 +00:00
gpio-tegra.c Drivers: gpio: Fix spelling errors 2015-05-19 16:52:30 +02:00
gpio-timberdale.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +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: 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: tz1090-pdc: Use resource_size to fix off-by-one resource size calculation 2015-01-29 10:34:13 +01:00
gpio-tz1090.c gpio: tz1090: Use resource_size to fix off-by-one 2015-01-15 17:23:21 +01:00
gpio-ucb1400.c
gpio-vf610.c gpio: vf610: Replaces comma between expression statements by semicolon 2015-03-06 11:17:36 +01:00
gpio-viperboard.c
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-wm8350.c
gpio-wm8994.c
gpio-xgene-sb.c gpio: x-gene: Remove a useless memset 2015-05-12 09:43:17 +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: Fix kernel-doc warnings 2015-05-12 09:56:26 +02:00
gpio-xlp.c gpio: xlp: Add missing .owner and .label settings for gpio_chip 2015-05-12 13:23:24 +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-zynq.c Drivers: gpio: Fix spelling errors 2015-05-19 16:52:30 +02:00
gpiolib-acpi.c Linux 4.1-rc3 2015-05-12 10:13:41 +02:00
gpiolib-legacy.c gpio: fix deferred probe detection for legacy API 2014-12-02 15:46:36 +01:00
gpiolib-of.c Drivers: gpio: Fix spelling errors 2015-05-19 16:52:30 +02:00
gpiolib-sysfs.c gpio: sysfs: move irq trigger flags to class-device data 2015-05-12 10:47:57 +02:00
gpiolib.c gpiolib: rename gpiod_set_array to gpiod_set_array_value 2015-06-01 15:10:09 +02:00
gpiolib.h gpio: sysfs: move irq trigger flags to class-device data 2015-05-12 10:47:57 +02:00
Kconfig gpio: xlp: GPIO controller for Netlogic XLP SoCs 2015-05-06 16:33:56 +02:00
Makefile gpio: xlp: GPIO controller for Netlogic XLP SoCs 2015-05-06 16:33:56 +02:00