linux-stable/drivers/mfd
Brian Masney ee08e24c2e mfd: pm8xxx: disassociate old virq if hwirq mapping already exists
Check to see if the hwirq is already associated with another virq on
this IRQ domain. If so, then disassociate it before associating the
hwirq with the new virq.

This is a temporary hack that is needed in order to not break git
bisect for existing boards. The next patch in this series converts
ssbi-gpio to be a hierarchical IRQ chip, then there are several patches
to update all of the device tree files, and finally this patch will be
reverted within the same patch series.

IRQs for ssbi-gpio are all initially setup without an IRQ hierarchy
this driver is probed due to the interrupts property in device tree.
Once ssbi-gpio is converted to be a hierarchical IRQ chip in the next
patch, existing users of gpio[d]_to_irq() will call pmic_gpio_to_irq(),
and that will use the new IRQ chip code in ssbi-gpio that sets up the
IRQ in an IRQ hierarchy. The hwirq is now associated with two Linux
virqs and interrupts will not work as expected. This patch corrects
that issue.

This change was tested on an APQ8060 DragonBoard.

Signed-off-by: Brian Masney <masneyb@onstation.org>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-02-13 09:24:44 +01:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c mfd: 88pm860x: Move over to new I2C device .probe() call 2016-11-17 16:10:24 +01:00
88pm860x-i2c.c mfd: 88pm860x-i2c: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) 2018-07-13 00:09:36 +02:00
aat2870-core.c
ab3100-core.c mfd: ab3100-core: Make it explicitly non-modular 2016-11-29 08:21:29 +00:00
ab3100-otp.c
ab8500-core.c mfd: ab8500-core: Constify attribute_group structures 2017-09-05 08:46:00 +01:00
ab8500-debugfs.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
ab8500-gpadc.c mfd: ab8500-gpadc: Make it explicitly non-modular 2016-11-29 08:21:31 +00:00
ab8500-sysctrl.c mfd: ab8500-sysctrl: Handle probe deferral 2017-02-13 09:29:43 +00:00
abx500-core.c mfd: abx500-core: Adjust 14 checks for null pointers 2018-05-16 09:21:48 +01:00
ac100.c mfd: ac100: Add driver for X-Powers AC100 audio codec / RTC combo IC 2016-08-08 12:53:26 +01:00
act8945a.c mfd: act8945a: Add .of_compatible for act8945a-charger 2016-10-04 15:48:03 +01:00
adp5520.c mfd: adp5520: Update MODULE AUTHOR email address 2018-10-23 08:58:34 +01:00
altera-a10sr.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
arizona-core.c mfd: arizona: Make array mclk_name static, shrinks object size 2018-10-23 08:58:34 +01:00
arizona-i2c.c
arizona-irq.c kernel/irq: Extend lockdep class for request mutex 2017-12-28 12:26:35 +01:00
arizona-spi.c
arizona.h mfd: arizona: Remove totally unused forward declaration 2017-02-13 09:29:40 +00:00
as3711.c mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:54:50 +01:00
as3722.c mfd: as3722: Disable auto-power-on when AC OK 2018-07-27 08:16:01 +01:00
asic3.c mfd: asic3: Fix broken MMC card detection 2018-06-04 08:44:17 +01:00
at91-usart.c mfd: at91-usart: Include Device Tree header 2018-09-11 11:44:56 +01:00
atmel-flexcom.c atmel_flexcom: Support resuming after a chip reset 2018-01-08 11:03:35 +00:00
atmel-hlcdc.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
atmel-smc.c mfd: syscon: atmel-smc: Include string.h 2018-05-29 09:09:29 +01:00
axp20x-i2c.c mfd: axp20x: Support AXP806 in I2C mode 2018-07-27 08:13:26 +01:00
axp20x-rsb.c mfd: axp20x: Add support for AXP813 PMIC 2017-09-05 08:46:00 +01:00
axp20x.c mfd: axp20x: use explicit bit defines 2018-12-13 16:40:03 +00:00
bcm590xx.c mfd: bcm590xx: Simplify a test 2016-11-29 08:21:33 +00:00
bd9571mwv.c mfd: bd9571mwv: Allow DDR Backup Power register access 2018-04-23 17:53:45 +01:00
cros_ec.c mfd: cros_ec: Check for mkbp events on resume only if supported. 2018-10-23 08:58:34 +01:00
cros_ec_dev.c Revert "mfd: cros_ec: Use devm_kzalloc for private data" 2018-12-05 09:59:38 +00:00
cros_ec_dev.h mfd: cros_ec: Fix and improve kerneldoc comments. 2018-09-07 15:56:37 +08:00
cs47l24-tables.c mfd: arizona: Mark AIFx_TX_BCLK_RATE as readable for cs47l24 2016-11-21 13:00:18 +00:00
cs47l35-tables.c mfd: madera: Register map tables for Cirrus Logic CS47L35 2018-06-05 11:15:01 +01:00
cs47l85-tables.c mfd: madera: Register map tables for Cirrus Logic CS47L85 2018-06-05 11:15:08 +01:00
cs47l90-tables.c mfd: madera: Register map tables for Cirrus Logic CS47L90/91 2018-06-05 11:15:12 +01:00
cs5535-mfd.c
da903x.c
da9052-core.c mfd: da9052: Fix manual ADC read after timed out read 2017-09-05 08:46:00 +01:00
da9052-i2c.c
da9052-irq.c
da9052-spi.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
da9055-core.c
da9055-i2c.c mfd: da9055: Constify i2c_device_id 2017-09-05 08:46:01 +01:00
da9062-core.c mfd: da9062: Use core helper regmap_reg_range macros 2018-05-16 09:21:48 +01:00
da9063-core.c mfd: da9063: Register RTC only on DA9063L 2018-07-04 07:17:02 +01:00
da9063-i2c.c mfd: da9063: Add DA9063L support 2018-07-04 07:17:13 +01:00
da9063-irq.c mfd: da9063: Add custom IRQ map for DA9063L 2018-07-04 07:16:57 +01:00
da9150-core.c
davinci_voicecodec.c mfd: davinci_voicecodec: Tidyup header difinitions 2016-11-29 08:21:27 +00:00
db8500-prcmu.c mfd: db8500-prcmu: Get rid of cpufreq dependency 2017-08-22 15:49:33 +02:00
dbx500-prcmu-regs.h
dln2.c mfd: dln2: Use irqsave() in USB's complete callback 2018-07-27 08:13:25 +01:00
dm355evm_msp.c mfd: dm355evm_msp: Move header file out of I2C realm 2017-08-15 08:06:14 +01:00
exynos-lpass.c mfd: exynos: Use devm_of_platform_populate() 2017-07-06 08:29:12 +01:00
ezx-pcap.c
fsl-imx25-tsadc.c mfd: fsl-imx25: Clean up irq settings during removal 2017-10-24 09:12:14 +01:00
hi655x-pmic.c mfd: hi655x: Fix regmap area declared size for hi655x 2018-07-27 08:13:25 +01:00
hi6421-pmic-core.c mfd: hi6421-pmic: Add support for HiSilicon Hi6421v530 2017-09-05 08:46:00 +01:00
htc-i2cpld.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
htc-pasic3.c
intel-lpss-acpi.c mfd: intel-lpss: Remove left over variable 2017-04-27 09:25:04 +01:00
intel-lpss-pci.c mfd: intel-lpss: Add Ice Lake PCI IDs 2018-07-27 08:13:24 +01:00
intel-lpss.c mfd: intel-lpss: Correct names of RESETS register bits 2018-06-04 06:48:22 +01:00
intel-lpss.h PM / mfd: intel-lpss: Push system sleep callbacks to late/early stages 2017-10-05 12:59:54 +02:00
intel_msic.c mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
intel_quark_i2c_gpio.c gpio: dwapb: Add support for 1 interrupt per port A GPIO 2018-05-16 14:35:24 +02:00
intel_soc_pmic_bxtwc.c mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
intel_soc_pmic_chtdc_ti.c mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
intel_soc_pmic_chtwc.c mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
intel_soc_pmic_core.c mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
intel_soc_pmic_core.h mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
intel_soc_pmic_crc.c mfd: Convert Intel PMIC drivers to use SPDX identifier 2018-10-23 08:58:34 +01:00
ipaq-micro.c mfd: ipaq-micro: Dump debugging hexdumps 2017-07-06 08:29:11 +01:00
janz-cmodio.c mfd: janz-cmodio: Delete error message for a failed memory allocation 2018-05-16 09:21:48 +01:00
jz4740-adc.c mfd: jz4740-adc: Delete error message for a failed memory allocation 2018-05-16 09:21:48 +01:00
Kconfig mfd: sec-core: Allow building as module 2018-10-23 08:58:34 +01:00
kempld-core.c mfd: kempld-core: Constify variables that point to const structure 2018-07-27 08:13:24 +01:00
lm3533-core.c
lm3533-ctrlbank.c
lp873x.c mfd: lp873x: Remove unused mutex lock from struct lp873x 2016-10-04 15:48:04 +01:00
lp3943.c mfd: lp3943: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:23 +01:00
lp8788-irq.c mfd: lp8788-irq: Uninitialized variable in irq handler 2016-04-11 13:31:40 +01:00
lp8788.c
lp87565.c mfd: lp87565: Convert to use devm_mfd_add_devices() 2017-09-05 08:46:01 +01:00
lpc_ich.c mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Apollo Lake 2018-01-08 11:03:35 +00:00
lpc_sch.c
madera-core.c mfd: madera: Don't use regmap_read_poll_timeout to poll for BOOT_DONE 2018-10-23 08:58:34 +01:00
madera-i2c.c mfd: madera: Add common support for Cirrus Logic Madera codecs 2018-06-05 11:14:56 +01:00
madera-spi.c mfd: madera: Add common support for Cirrus Logic Madera codecs 2018-06-05 11:14:56 +01:00
madera.h mfd: madera: Add common support for Cirrus Logic Madera codecs 2018-06-05 11:14:56 +01:00
Makefile mfd: at91-usart: Add MFD driver for USART 2018-09-10 16:07:24 +01:00
max8907.c
max8925-core.c
max8925-i2c.c mfd: max8925-i2c: Drop unnecessary static 2017-09-05 08:46:00 +01:00
max8997-irq.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max8997.c mfd: max8997: Disable interrupt handling for suspend/resume cycle 2018-10-23 08:58:34 +01:00
max8998-irq.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max8998.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max14577.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max77620.c mfd: max77620: Convert to using %pOFn instead of device_node.name 2018-10-23 08:58:34 +01:00
max77686.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max77693.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max77843.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
mc13xxx-core.c mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values 2018-10-23 08:58:34 +01:00
mc13xxx-i2c.c
mc13xxx-spi.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c mfd: menelaus: Fix possible race condition and leak 2018-09-11 16:40:21 +01:00
menf21bmc.c mfd: menf21bmc: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:30 +01:00
mfd-core.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
motorola-cpcap.c mfd: motorola-cpcap: Add audio-codec support 2018-10-23 08:58:34 +01:00
mt6397-core.c mfd: mt6397: Add PMIC keys support to MT6397 driver 2018-04-16 15:16:11 +01:00
mxs-lradc.c mfd: mxs-lradc: Fix error handling in mxs_lradc_probe() 2017-10-24 09:12:14 +01:00
omap-usb-host.c mfd: omap-usb-host: Fix dts probe of children 2018-09-11 16:47:33 +01:00
omap-usb-tll.c mfd: omap-usb-tll: Allocate driver data at once 2018-05-16 09:21:48 +01:00
omap-usb.h
palmas.c mfd: palmas: Assign the right powerhold mask for tps65917 2018-01-08 11:03:34 +00:00
pcf50633-adc.c
pcf50633-core.c mfd: pcf50633: Fix some memory leaks in the error handling path of 'pcf50633_probe()' 2018-05-16 09:21:48 +01:00
pcf50633-gpio.c
pcf50633-irq.c
qcom-pm8xxx.c mfd: pm8xxx: disassociate old virq if hwirq mapping already exists 2019-02-13 09:24:44 +01:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Add support for pm8005, pm8998 and pmi8998 2018-06-04 06:47:52 +01:00
qcom_rpm.c mfd: qcom_rpm: Handle message RAM clock 2016-10-04 15:48:02 +01:00
rave-sp.c mfd: rave-sp: Emulate CMD_GET_STATUS on device that don't support it 2018-07-27 08:13:25 +01:00
rc5t583-irq.c mfd: rc5t583: Use devm_mfd_add_devices and devm_request_threaded_irq 2016-05-09 13:27:38 +01:00
rc5t583.c mfd: rc5t583: Improve a size determination 2018-05-16 09:21:48 +01:00
rdc321x-southbridge.c mfd: rdc321x: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:52 +01:00
retu-mfd.c mfd: retu: Add OF device ID table 2017-07-18 08:27:18 +01:00
rk808.c mfd: rk808: Add RK805 power key support 2017-08-21 08:54:56 +01:00
rn5t618.c mfd: rn5t618: Unregister restart handler on remove 2017-07-06 08:29:11 +01:00
rohm-bd718x7.c regulator: bd718xx: fix build warning on x86_64 2018-10-02 15:58:11 +01:00
rt5033.c mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:17 +01:00
sec-core.c mfd: sec-core: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
sec-irq.c mfd: sec-core: Allow building as module 2018-10-23 08:58:34 +01:00
si476x-cmd.c
si476x-i2c.c mfd: si476x-i2c: Delete an error message for a failed memory allocation in si476x_core_probe() 2018-05-16 09:21:48 +01:00
si476x-prop.c
sky81452.c mfd: sky81452: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:28 +01:00
sm501.c mfd: sm501: Set coherent_dma_mask when creating subdevices 2018-08-16 10:13:57 +01:00
smsc-ece1099.c mfd: smsc-ece1099: Improve a size determination in smsc_i2c_probe() 2018-05-16 09:21:48 +01:00
sprd-sc27xx-spi.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
ssbi.c mfd: ssbi: Use devm_of_platform_populate() 2017-11-01 09:32:23 +00:00
sta2x11-mfd.c mfd: Convert remaining uses of pr_warning to pr_warn 2017-04-27 09:25:05 +01:00
stm32-lptimer.c mfd: stm32: Adopt SPDX identifier 2018-01-08 11:03:35 +00:00
stm32-timers.c mfd: stm32-timers: Add support for DMAs 2018-05-16 09:10:38 +01:00
stmpe-i2c.c mfd: Add STMPE1600 support 2016-08-10 09:25:18 +01:00
stmpe-spi.c
stmpe.c mfd: stmpe: Fix bit clearing on STMPE1600 2017-04-27 09:25:07 +01:00
stmpe.h mfd: Add STMPE1600 support 2016-08-10 09:25:18 +01:00
stw481x.c mfd: stw481x: Make three arrays static const, reduces object code size 2017-10-13 10:42:58 +01:00
sun4i-gpadc.c mfd: sun4i-gpadc: Fix 'cast from pointer to integer of different size' warning 2016-11-29 08:21:26 +00:00
sun6i-prcm.c mfd: sun6i-prcm: Add codec analog controls sub-device for Allwinner A23 2017-02-13 09:29:40 +00:00
syscon.c mfd: syscon: Set name of regmap_config 2018-05-16 09:21:48 +01:00
t7l66xb.c mfd: t7l66xb: Handle return value of clk_prepare_enable 2017-09-05 08:46:01 +01:00
tc3589x.c mfd: tc3589x: Improve function-level documentation 2016-11-29 08:21:19 +00:00
tc6387xb.c
tc6393xb.c mfd: tc6393xb: Handle return value of clk_prepare_enable 2017-07-06 08:29:12 +01:00
ti-lmu.c mfd: ti-lmu: Use of_device_get_match_data() helper 2018-10-23 08:58:34 +01:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Keep ADC interface on if child is wakeup capable 2018-10-09 11:28:07 +01:00
timberdale.c Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
timberdale.h
tmio_core.c mfd: tmio: Move register macros to tmio_core.c 2018-01-08 11:03:34 +00:00
tps6105x.c mfd: tps6105x: Add OF device ID table 2017-07-18 08:27:37 +01:00
tps6507x.c mfd: tps6507: Fix white space warnings reported by checkpatch 2016-06-29 10:14:35 +01:00
tps6586x.c mfd: tps6586x: Delete an error message for a failed memory allocation in tps6586x_parse_dt() 2018-05-16 09:21:48 +01:00
tps65010.c mfd: tps65010: Move header file out of I2C realm 2017-08-15 08:27:22 +01:00
tps65086.c mfd: tps65086: Add driver for the TPS65086 PMIC 2016-03-16 08:50:15 +00:00
tps65090.c mfd: tps65090: Delete an error message for a failed memory allocation in tps65090_i2c_probe() 2018-05-16 09:21:48 +01:00
tps65217.c mfd: tps65217: Introduce dependency on CONFIG_OF 2017-10-13 10:42:58 +01:00
tps65218.c mfd: tps65218: Introduce dependency on CONFIG_OF 2017-10-13 10:42:59 +01:00
tps65910.c mfd: tps65910: Move an assignment in tps65910_sleepinit() 2018-05-16 09:21:48 +01:00
tps65911-comparator.c mfd: tps65911-comparator: Fix an off by one bug 2018-05-16 09:21:48 +01:00
tps65912-core.c mfd: tps65912: Move regmap config into core driver 2016-11-29 08:21:21 +00:00
tps65912-i2c.c mfd: tps65912: Export OF device ID table as module aliases 2017-02-13 09:29:43 +00:00
tps65912-spi.c mfd: tps65912: Fix variable name for SPI remove 2017-04-27 09:25:04 +01:00
tps68470.c mfd: Update to SPDX license identifier 2018-05-16 09:21:48 +01:00
tps80031.c mfd: tps80031: Delete an error message for a failed memory allocation in tps80031_probe() 2018-05-16 09:21:48 +01:00
twl-core.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
twl-core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
twl4030-audio.c mfd: twl4030-audio: Fix sibling-node lookup 2017-11-29 16:28:45 +00:00
twl4030-irq.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl4030-power.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl6030-irq.c mfd: twl6030-irq: Delete an error message for a failed memory allocation in twl6030_init_irq() 2018-05-16 09:21:48 +01:00
twl6040.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
ucb1x00-assabet.c
ucb1x00-core.c mfd: ucb1x00: Remove NO_IRQ check 2016-10-04 15:48:03 +01:00
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c mfd: vexpress-sysreg: Switch to gpiochip_add_data() 2016-04-19 07:59:06 +01:00
viperboard.c mfd: viperboard: Delete an error message for a failed memory allocation in vprbrd_probe() 2018-05-16 09:21:48 +01:00
vx855.c
wl1273-core.c mfd: wl1273-core: Use devm_mfd_add_devices() for mfd_device registration 2016-05-09 13:27:39 +01:00
wm97xx-core.c mfd: wm97xx-core: Platform data can be NULL 2018-06-11 09:11:03 +01:00
wm831x-auxadc.c
wm831x-core.c mfd: wm831x: Remove redundant !pdata checks 2017-07-06 08:29:11 +01:00
wm831x-i2c.c mfd: wm831x-i2c: Add NULL check before pointer dereference 2017-07-06 08:29:11 +01:00
wm831x-irq.c mfd: wm831x: Add basic device tree binding 2017-03-23 11:45:50 +00:00
wm831x-otp.c
wm831x-spi.c mfd: wm831x-spi: Add NULL check before pointer dereference 2017-07-06 08:29:11 +01:00
wm5102-tables.c mfd: wm5102: Remove spurious trailing spaces 2016-11-29 08:21:26 +00:00
wm5110-tables.c mfd: wm5110: ARIZONA_CLOCK_CONTROL should be volatile 2016-05-09 15:41:35 +01:00
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c mfd: Use IS_ENABLED(CONFIG_FOO) instead of checking FOO || FOO_MODULE 2016-05-09 08:23:56 +01:00
wm8994-core.c regulator: wm8994: Pass descriptor instead of GPIO number 2018-11-15 11:42:08 -08:00
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c mfd: wm8998: Fix defaults array based on testing 2016-03-16 08:50:22 +00:00