linux/drivers/gpio
Thomas Gleixner 0ff56cd85a gpio/sx150x: Do not access I2C from mask/unmask functions
irq_chip->irq_mask/unmask are called with interrupts disabled and
irq_desc->lock held. So we cannot access i2c from this context. That's
what irq_bus_sync_unlock() is for.

Store the masked information in the chip data structure and update the
i2c bus from the irq_bus_sync_unlock() callback.

This does not need a while(pending) loop because the update to this is
always serialized via the bus lock, so we never have more than one pin
update pending.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Gregory Bean <gbean@codeaurora.org>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Lennert Buytenhek <buytenh@secretlab.ca>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2011-02-22 14:59:53 -07:00
..
74x164.c gpio: add support for 74x164 serial-in/parallel-out 8-bit shift register 2010-10-27 18:03:07 -07:00
Kconfig gpio/ml_ioh_gpio: ML7213 GPIO driver 2011-01-13 08:03:14 -08:00
Makefile gpio/ml_ioh_gpio: ML7213 GPIO driver 2011-01-13 08:03:14 -08:00
adp5520-gpio.c
adp5588-gpio.c gpio: adp5588-gpio: irq_data conversion 2011-01-13 08:03:13 -08:00
basic_mmio_gpio.c gpio: add driver for basic memory-mapped GPIO controllers 2010-10-27 18:03:06 -07:00
bt8xxgpio.c
cs5535-gpio.c gpio: Fix cs5535 printk warnings 2011-01-14 12:38:11 +01:00
gpiolib.c gpiolib: gpio_request_one(): add missing gpio_free() 2010-12-22 19:43:33 -08:00
it8761e_gpio.c drivers/gpio/it8761e_gpio: check return value of gpiochip_remove() 2010-05-27 09:12:42 -07:00
janz-ttl.c gpio: Add support for Janz VMOD-TTL Digital IO module 2010-05-28 01:37:33 +02:00
langwell_gpio.c langwell_gpio: modify EOI handling following change of kernel irq subsystem 2011-01-26 10:49:59 +10:00
max730x.c gpio: max730x: make pullups configurable via platformdata 2010-08-11 08:59:08 -07:00
max732x.c gpio: max732x: irq_data conversion 2011-01-13 08:03:13 -08:00
max7300.c
max7301.c
mc33880.c
mcp23s08.c
ml_ioh_gpio.c gpio/ml_ioh_gpio: ML7213 GPIO driver 2011-01-13 08:03:14 -08:00
pca953x.c gpio: pca953x: irq_data conversion 2011-01-13 08:03:13 -08:00
pcf857x.c pcf857x: support working w/o platform data 2010-08-11 08:59:08 -07:00
pch_gpio.c gpio: add Topcliff PCH GPIO driver 2010-10-27 18:03:07 -07:00
pl061.c gpio: pl061: irq_data conversion 2011-01-13 08:03:13 -08:00
rdc321x-gpio.c gpio: Fix null pointer dereference while accessing rdc321x platform_data 2010-12-22 12:05:20 +01:00
sch_gpio.c
stmpe-gpio.c gpio: stmpe-gpio: irq_data conversion 2011-01-13 08:03:13 -08:00
sx150x.c gpio/sx150x: Do not access I2C from mask/unmask functions 2011-02-22 14:59:53 -07:00
tc3589x-gpio.c gpio: tc35892-gpio: irq_data conversion 2011-01-13 08:03:14 -08:00
timbgpio.c gpio: timbgpio: Fix up irq_data conversion breakage. 2011-01-14 08:13:13 -08:00
twl4030-gpio.c
ucb1400_gpio.c
vr41xx_giu.c gpio: vr41xx_giu: irq_data conversion 2011-01-13 08:03:14 -08:00
vx855_gpio.c gpio: Add VIA VX855 GPIO driver 2010-10-29 00:29:51 +02:00
wm831x-gpio.c gpiolib: Implement set_debounce for WM831x GPIOs 2010-08-12 11:27:57 +02:00
wm8350-gpiolib.c
wm8994-gpio.c gpiolib: Add WM8958 support to the WM8994 driver 2010-11-26 15:16:19 +00:00
xilinx_gpio.c of: GPIO: Fix OF probing on little-endian systems 2010-09-29 15:28:08 +09:00