linux/drivers/gpio
Johan Hovold 54d9acd754 gpio: sysfs: release irq after class-device deregistration
Make sure to release any irq only after the class device has been
deregistered.

This avoids a race between gpiod_unexport and edge_store, where an irq
could be allocated just before the gpio class device is deregistered
without relying on FLAG_EXPORT and the global sysfs lock.

Note that there is no need to hold the sysfs lock when releasing the irq
after the class device is gone as kernfs will prevent further attribute
operations.

Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-05-12 10:47:03 +02:00
..
devres.c gpio: fix constconst in devres 2015-03-17 17:45:59 +01: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: 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 Linux 3.19-rc5 2015-01-20 11:03:07 +01: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: intel-mid: switch to using gpiolib irqchip helpers 2014-06-19 09:31:16 +02:00
gpio-iop.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-it8761e.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
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 gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-max730x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
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: 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: removing kfree remove functionality 2015-04-08 16:54:01 +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: 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 Linux 4.1-rc3 2015-05-12 10:13:41 +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: Drop deprecated DT bindings 2014-08-28 14:19:40 +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: Prevent module clock disable when wake-up is enabled 2015-03-26 10:25:32 +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 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: 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: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +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: 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 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-timberdale.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +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: 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: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-vf610.c gpio: vf610: Replaces comma between expression statements by semicolon 2015-03-06 11:17:36 +01: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: 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: GPIO controller for Netlogic XLP SoCs 2015-05-06 16:33:56 +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 PM: Merge the SET*_RUNTIME_PM_OPS() macros 2014-12-04 00:51:30 +01: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 This is the bulk of GPIO changes for the v4.1 development 2015-04-18 08:22:10 -04:00
gpiolib-sysfs.c gpio: sysfs: release irq after class-device deregistration 2015-05-12 10:47:03 +02:00
gpiolib.c gpio: sysfs: rename gpiochip registration functions 2015-05-12 10:46:49 +02:00
gpiolib.h gpio: sysfs: rename gpiochip registration functions 2015-05-12 10:46:49 +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