remarkable-linux/drivers/gpio
Julia Cartwright 3906e8089a gpio: 104-idio-16: make use of raw_spinlock variants
The 104-idio-16 gpio driver currently implements an irq_chip for handling
interrupts; due to how irq_chip handling is done, it's necessary for the
irq_chip methods to be invoked from hardirq context, even on a a
real-time kernel.  Because the spinlock_t type becomes a "sleeping"
spinlock w/ RT kernels, it is not suitable to be used with irq_chips.

A quick audit of the operations under the lock reveal that they do only
minimal, bounded work, and are therefore safe to do under a raw spinlock.

Signed-off-by: Julia Cartwright <julia@ni.com>
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-28 11:12:36 +02:00
..
devres.c gpiolib: Fix spelling of 'successful' 2017-03-14 10:51:28 +01:00
gpio-74x164.c
gpio-74xx-mmio.c
gpio-104-dio-48e.c gpio: 104-dio-48e: make use of raw_spinlock variants 2017-03-16 21:52:07 +01:00
gpio-104-idi-48.c gpio: 104-idi-48: Add support for GPIO names 2017-02-01 16:03:55 +01:00
gpio-104-idio-16.c gpio: 104-idio-16: make use of raw_spinlock variants 2017-03-28 11:12:36 +02:00
gpio-adnp.c gpio: set explicit nesting on drivers 2016-11-25 15:12:27 +01:00
gpio-adp5520.c
gpio-adp5588.c
gpio-altera-a10sr.c gpio: altera-a10sr: Drop unnecessary gpiochip_remove 2016-10-25 13:58:42 +02:00
gpio-altera.c gpio: altera: make use of raw_spinlock variants 2017-03-16 21:52:06 +01:00
gpio-amd8111.c
gpio-amdpt.c
gpio-arizona.c gpio: arizona: Tidy up probe error path 2016-12-07 15:23:38 +01:00
gpio-aspeed.c gpio: aspeed: Remove dependence on GPIOF_* macros 2017-02-04 21:34:55 +01:00
gpio-ath79.c gpio: ath79: make use of raw_spinlock variants 2017-03-16 21:52:08 +01:00
gpio-axp209.c gpio: axp209: use correct register for GPIO input status 2016-11-24 16:19:02 +01:00
gpio-bcm-kona.c gpio: bcm-kona: make use of raw_spinlock variants 2017-03-16 21:52:07 +01:00
gpio-brcmstb.c
gpio-bt8xx.c
gpio-clps711x.c
gpio-crystalcove.c gpio: set explicit nesting on drivers 2016-11-25 15:12:27 +01:00
gpio-cs5535.c
gpio-da9052.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-da9055.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-davinci.c gpio: davinci: use devm_irq_alloc_descs() 2017-03-15 11:16:36 +01:00
gpio-dln2.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-dwapb.c gpio: dwapb: Add support for next generation of X-Gene SoC 2017-03-06 14:34:53 +01:00
gpio-em.c
gpio-ep93xx.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-etraxfs.c gpio: etraxfs: make use of raw_spinlock variants 2017-03-16 21:52:08 +01:00
gpio-exar.c gpio: exar: Set proper output level in exar_direction_output 2017-03-15 11:16:31 +01:00
gpio-f7188x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-ftgpio010.c gpio: gemini: rename to match Faraday IP 2017-03-22 09:40:55 +01:00
gpio-ge.c
gpio-gpio-mm.c gpio: gpio-mm: Add support for GPIO names 2017-02-01 16:05:28 +01:00
gpio-grgpio.c
gpio-htc-egpio.c gpio: htc-egpio: read output value from cache 2016-11-13 11:50:22 +01:00
gpio-ich.c
gpio-intel-mid.c gpio: intel-mid: Fix build warning when !CONFIG_PM 2017-01-26 10:00:20 +01:00
gpio-iop.c gpio: iop: Use generic GPIO MMIO functions for driver 2016-09-12 15:28:18 +02:00
gpio-it87.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-janz-ttl.c
gpio-kempld.c
gpio-ks8695.c
gpio-loongson.c
gpio-loongson1.c gpio: loongson1: remove redundant return value check 2016-09-23 15:10:00 +02:00
gpio-lp873x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-lp3943.c
gpio-lpc18xx.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-lpc32xx.c gpio: lpc32xx: remove unused platform data file 2016-09-12 14:23:37 +02:00
gpio-lynxpoint.c
gpio-max730x.c
gpio-max732x.c gpio: simplify adding threaded interrupts 2016-11-25 15:12:27 +01:00
gpio-max7300.c
gpio-max7301.c
gpio-max77620.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-mb86s7x.c gpio: mb86s7x: use builtin_platform_driver 2016-11-22 10:16:17 +01:00
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-mcp23s08.c gpio: mcp23s08: use regmap 2017-01-30 15:57:46 +01:00
gpio-menz127.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-merrifield.c gpio: merrifield: Don't use GPIOF_DIR_IN / GPIOF_DIR_OUT 2017-03-23 14:06:46 +01:00
gpio-ml-ioh.c gpio: ml-ioh: use resource management for irqs 2017-03-15 11:16:34 +01:00
gpio-mm-lantiq.c gpio: update my email address 2016-12-30 09:18:10 +01:00
gpio-mmio.c gpio: mmio: add support for NI 169445 NAND GPIO 2017-03-23 09:49:06 +01:00
gpio-mockup.c gpio: mockup: use devm_irq_alloc_descs() 2017-03-15 11:16:32 +01:00
gpio-mpc8xxx.c gpio: mpc8xxx: Correct irq handler function 2016-10-24 02:20:40 +02:00
gpio-mpc5200.c
gpio-msic.c gpio: msic: drop unused MODULE_ tags from non-modular code 2016-08-23 11:22:09 +02:00
gpio-mvebu.c gpio: mvebu: use BIT macro instead of bit shifting 2017-03-23 10:21:39 +01:00
gpio-mxc.c gpio: mxc: use devm_irq_alloc_descs() 2017-03-15 11:16:37 +01:00
gpio-mxs.c gpio: mxs: use devm_irq_alloc_descs() 2017-03-15 11:16:37 +01:00
gpio-octeon.c
gpio-omap.c gpio: omap: use devm_irq_alloc_descs() 2017-03-15 11:16:33 +01:00
gpio-palmas.c gpio: palmas: fix implicit assumption module.h is present 2016-09-15 13:57:43 +02:00
gpio-pca953x.c gpio: pca953x: Expand comment for "reset" GPIO in ACPI case 2017-03-23 10:42:44 +01:00
gpio-pcf857x.c gpio: simplify adding threaded interrupts 2016-11-25 15:12:27 +01:00
gpio-pch.c gpio: pch: use resource management for irqs 2017-03-15 11:16:33 +01:00
gpio-pci-idio-16.c gpio: pci-idio-16: Fix PCI BAR index 2017-02-13 16:19:10 +01:00
gpio-pisosr.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-pl061.c gpio: pl061: make use of raw_spinlock variants 2017-03-16 21:52:09 +01:00
gpio-pxa.c gpio: pxa: use devm_irq_alloc_descs() 2017-03-15 11:16:35 +01:00
gpio-rc5t583.c
gpio-rcar.c gpio: rcar: Fine-grained Runtime PM support 2016-12-28 01:33:02 +01:00
gpio-rdc321x.c
gpio-reg.c gpio: gpio-reg: add irq mapping for gpio-reg users 2017-03-24 14:05:00 +01:00
gpio-sa1100.c gpio: sa1100: implement get_direction method 2017-03-24 14:04:37 +01:00
gpio-sch.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-sch311x.c
gpio-sodaville.c gpio: sodaville: use resource management for irqs 2017-03-15 11:16:36 +01:00
gpio-spear-spics.c gpio: spear-spics: drop unused MODULE_ tags from non-modular code 2016-08-23 11:23:41 +02:00
gpio-sta2x11.c gpio: sta2x11: use resource management for irqs 2017-03-15 11:16:38 +01:00
gpio-stmpe.c Bulk GPIO changes for the v4.10 kernel cycle: 2016-12-13 07:54:57 -08:00
gpio-stp-xway.c gpio: update my email address 2016-12-30 09:18:10 +01:00
gpio-syscon.c
gpio-tb10x.c
gpio-tc3589x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-tegra.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-timberdale.c
gpio-tpic2810.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps6586x.c
gpio-tps65086.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps65218.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-tps65910.c
gpio-tps65912.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-ts4800.c gpio: ts4800: Fix module autoload 2016-10-21 14:55:07 +02:00
gpio-ts4900.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-ts5500.c
gpio-twl4030.c gpio: twl4030: use devm_irq_alloc_descs() 2017-03-15 11:16:32 +01:00
gpio-twl6040.c
gpio-tz1090-pdc.c
gpio-tz1090.c
gpio-ucb1400.c
gpio-vf610.c gpio: vf610: use builtin_platform_driver 2016-11-24 16:19:02 +01:00
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wcove.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wm831x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wm8350.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-wm8994.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-ws16c48.c gpio: ws16c48: make use of raw_spinlock variants 2017-03-16 21:52:09 +01:00
gpio-xgene-sb.c
gpio-xgene.c
gpio-xilinx.c
gpio-xlp.c gpio: xlp: Update for ARCH_THUNDER2 2017-03-16 21:52:10 +01:00
gpio-xtensa.c
gpio-zevio.c
gpio-zx.c gpio: zx: make use of raw_spinlock variants 2017-03-16 21:52:10 +01:00
gpio-zynq.c gpio: Added zynq specific check for special pins on bank zero 2016-09-23 15:26:20 +02:00
gpiolib-acpi.c gpio: acpi: Ignore -EPROBE_DEFER for unselected gpioints 2017-03-16 21:52:13 +01:00
gpiolib-devprop.c gpio: gpiolib-devprop: Check chip->parent pointer before dereferencing 2016-10-25 20:23:19 +02:00
gpiolib-legacy.c
gpiolib-of.c gpio: of: Add support for multiple GPIOs in a single GPIO hog 2016-12-30 09:26:54 +01:00
gpiolib-sysfs.c gpio: fix documentation for gpiod_unexport 2016-09-12 14:53:33 +02:00
gpiolib.c gpio: of: Don't return 0 on dt_gpio_count() 2017-03-16 21:52:11 +01:00
gpiolib.h gpiolib: Update documentation of struct acpi_gpio_info 2017-01-11 12:09:36 +01:00
Kconfig gpio: add generic single-register fixed-direction GPIO driver 2017-03-24 14:04:46 +01:00
Makefile gpio: add generic single-register fixed-direction GPIO driver 2017-03-24 14:04:46 +01:00