linux/drivers/mfd
Linus Walleij e2ddf46ab4 mfd: ab8500: actually handle the AB8500 GPIO IRQs correctly
The patch:
"mfd: ab8500: prepare to handle AB8500 GPIO's IRQs correctly"
altered the AB8500 IRQ mask/unmask functions such that they
would handle masking on/off the falling edge IRQ if this was
requested by the consumer. However the bit mask for hwirqs
43 and 44 was shifting the bit mask incorrectly, resulting in
the wrong IRQ being mased/unmasked.

Further while the patch would mask/unmask the correct line,
when the interrupt actually came in, it would still be treated
as a valid hwirq. The offsetting applied when masking/unmasking
was not applied when handling the IRQ, i.e. the falling edge
lines were not routed back to the rising edge lines.

This fixes both cases. The end result has been tested with
the SIM detect IRQ, GPIO12, hwirq 46 and 62.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-02-08 14:25:32 +01:00
..
88pm80x.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08:00
88pm800.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
88pm805.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
88pm860x-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
88pm860x-i2c.c mfd: Convert struct i2c_msg initialization to C99 format 2012-09-21 23:40:34 +02:00
aat2870-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
ab3100-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ab3100-otp.c
ab8500-core.c mfd: ab8500: actually handle the AB8500 GPIO IRQs correctly 2013-02-08 14:25:32 +01:00
ab8500-debugfs.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ab8500-gpadc.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ab8500-sysctrl.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
abx500-core.c
adp5520.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
arizona-core.c mfd: arizona: Check errors from regcache_sync() 2013-01-22 03:12:44 +01:00
arizona-i2c.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
arizona-irq.c mfd: arizona: Disable control interface reporting for WM5102 and WM5110 2013-01-22 01:17:29 +01:00
arizona-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
arizona.h mfd: Initial support for the WM5110 2012-07-16 15:00:32 +02:00
as3711.c mfd: Add an AS3711 PMIC MFD driver 2012-11-23 12:09:19 +01:00
asic3.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
cs5535-mfd.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da903x.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da9052-core.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
da9052-i2c.c mfd: da9052/53 lockup fix 2013-01-27 01:35:32 +01:00
da9052-irq.c mfd: da9052: Introduce da9052-irq.c 2012-11-20 12:21:10 +01:00
da9052-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da9055-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da9055-i2c.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
davinci_voicecodec.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
db8500-prcmu.c mfd: db8500-prcmu: Fix irqdomain usage 2013-01-22 01:25:56 +01:00
dbx500-prcmu-regs.h mfd: dbx500: Provide a more accurate smp_twd clock 2012-09-23 20:51:34 +02:00
dm355evm_msp.c mfd: Use gpio_request_one from dm355evm_msp 2012-01-09 00:37:38 +01:00
ezx-pcap.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
htc-egpio.c
htc-i2cpld.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08:00
htc-pasic3.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
intel_msic.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
janz-cmodio.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
jz4740-adc.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
Kconfig mfd: tps65910: Select REGMAP_IRQ in Kconfig to fix build error 2013-01-22 01:23:36 +01:00
lm3533-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
lm3533-ctrlbank.c mfd: Use SI-units for the lm3533 max-current interface 2012-05-20 17:27:02 +02:00
lp8788-irq.c mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
lp8788.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
lpc_ich.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
lpc_sch.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
Makefile This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
max8907.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
max8925-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
max8925-i2c.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
max8997-irq.c mfd: Add irq domain support for max8997 interrupts 2012-07-09 00:16:13 +02:00
max8997.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
max8998-irq.c
max8998.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
max77686-irq.c mfd: Allow to specify max77686 interrupt through DT or platform file also 2012-07-09 15:13:42 +02:00
max77686.c mfd: max77686: Init max77686->dev before using it 2013-01-22 03:02:21 +01:00
max77693-irq.c mfd: MAX77693: Fix interrupt handling bug 2012-09-16 00:32:57 +02:00
max77693.c mfd: max77693: Init max77693->dev before using it 2013-01-22 03:02:22 +01:00
mc13xxx-core.c mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mc13xxx-i2c.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
mc13xxx-spi.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
mc13xxx.h mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mcp-core.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mcp-sa11x0.c ARM: sa1100: move platform_data definitions 2012-09-14 11:18:57 +02:00
menelaus.c ARM: OMAP2: Move plat/menelaus.h to linux/mfd/menelaus.h 2012-10-15 13:53:41 -07:00
mfd-core.c mfd: Only unregister platform devices allocated by the mfd core 2012-11-20 12:21:12 +01:00
omap-usb-host.c mfd: omap-usb-host: get rid of cpu_is_omap..() macros 2012-12-14 11:48:06 -08:00
omap-usb-tll.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
omap-usb.h ARM: OMAP: move OMAP USB platform data to <linux/platform_data/omap-usb.h> 2012-10-24 14:26:55 -07:00
palmas.c mfd: remove use of __devinitdata 2012-11-28 12:21:11 -08:00
pcf50633-adc.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
pcf50633-core.c mfd: pcf50633: Init pcf->dev before using it 2013-01-22 03:05:33 +01:00
pcf50633-gpio.c mfd: Include linux/mfd/pcf50633/pmic.h in pcf50633-gpio.c 2012-03-06 18:46:51 +01:00
pcf50633-irq.c mfd: Include linux/mfd/pcf50633/mbc.h in pcf50633-irq.c 2012-03-06 18:46:51 +01:00
pm8xxx-irq.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
pm8921-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
rc5t583-irq.c mfd: rc5t583: Fix array subscript is above array bounds 2012-11-26 12:10:51 +01:00
rc5t583.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
rdc321x-southbridge.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
retu-mfd.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
rtl8411.c mfd: rtsx: Add clock divider hook 2013-01-27 01:30:20 +01:00
rts5209.c mfd: rtsx: Add clock divider hook 2013-01-27 01:30:20 +01:00
rts5229.c mfd: rtsx: Add clock divider hook 2013-01-27 01:30:20 +01:00
rtsx_pcr.c mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed 2013-01-27 02:18:07 +01:00
rtsx_pcr.h drivers/mfd: Add realtek pcie card reader driver 2012-11-15 17:30:14 -08:00
sec-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
sec-irq.c mfd: sec: Fix reg_offset for interrupt registers 2012-11-26 00:35:08 +01:00
sm501.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
smsc-ece1099.c mfd: smsc: Add support for smsc gpio io/keypad driver 2012-10-01 15:27:48 +02:00
sta2x11-mfd.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
stmpe-i2c.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
stmpe-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
stmpe.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
stmpe.h mfd: Add support for stmpe variant 801 2012-01-09 00:37:44 +01:00
syscon.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
t7l66xb.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
tc3589x.c mfd: tc3589x: Use simple irqdomain 2013-01-22 03:08:34 +01:00
tc6387xb.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tc6393xb.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ti_am335x_tscadc.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
ti-ssp.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
timberdale.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
timberdale.h
tmio_core.c
tps6105x.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps6507x.c mfd: tps6507x: Convert to devm_kzalloc 2012-12-10 10:04:04 +01:00
tps6586x.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65010.c mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op 2012-07-19 10:38:33 -04:00
tps65090.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65217.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65910.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65911-comparator.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps65912-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
tps65912-i2c.c
tps65912-irq.c
tps65912-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps80031.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
twl4030-audio.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
twl4030-irq.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
twl4030-madc.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
twl4030-power.c mfd: twl4030: Don't warn about uninitialized return code 2013-01-27 02:18:01 +01:00
twl6030-irq.c mfd/rtc/gpio: twl: No need to allocate bigger buffer for write 2012-11-21 16:08:00 +01:00
twl6040.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
twl-core.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
twl-core.h mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files 2012-03-22 13:04:33 +01:00
ucb1x00-assabet.c MFD: ucb1x00-assabet: add support for UCB1x00 GPIO switches 2012-02-18 23:15:44 +00:00
ucb1x00-core.c MFD: ucb1x00-core: add wakeup support 2012-02-18 23:15:43 +00:00
ucb1x00-ts.c MFD: ucb1x00: convert to use genirq 2012-02-18 23:15:43 +00:00
ucb1400_core.c
vexpress-config.c mfd: vexpress: Export global functions to fix build error 2013-01-22 17:28:34 +01:00
vexpress-sysreg.c mfd: vexpress-sysreg: Don't skip initialization on probe 2013-01-24 12:19:23 +00:00
viperboard.c mfd: viperboard: Do version query in dma memory 2012-11-26 11:48:56 +01:00
vx855.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
wl1273-core.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08:00
wm831x-auxadc.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
wm831x-i2c.c mfd: wm831x: Convert to devm_regmap_init() 2012-02-22 13:57:05 +00:00
wm831x-irq.c mfd: Emulate active low IRQs as well as active high IRQs for wm831x 2012-05-20 17:27:14 +02:00
wm831x-otp.c mfd: wm831x: Feed the device UUID into device_add_randomness() 2012-07-19 10:38:31 -04:00
wm831x-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
wm5102-tables.c mfd: wm5102: Fix definition of WM5102_MAX_REGISTER 2013-01-27 02:18:07 +01:00
wm5110-tables.c mfd: wm5110: Add register patches for revision B 2012-09-28 23:57:28 +02:00
wm8350-core.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8350-gpio.c
wm8350-i2c.c mfd: Add regmap cache support for wm8350 2012-07-09 00:16:10 +02:00
wm8350-irq.c mfd: Rely on regmap cache in wm8350 interrupt controller 2012-07-09 00:16:10 +02:00
wm8350-regmap.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8400-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
wm8994-core.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
wm8994-irq.c mfd: wm8994: Flag the interrupt block as requiring runtime PM be enabled 2012-08-07 20:30:00 +01:00
wm8994-regmap.c mfd: wm8994: Implement support for WM1811 devices with higher cust_ids 2012-09-14 09:52:11 +02:00
wm8994.h