2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-07 21:24:00 +08:00
linux-next/drivers/irqchip
Linus Walleij 5b978c1066 irqchip: Add driver for IXP4xx
The IXP4xx (arch/arm/mach-ixp4xx) is an old Intel XScale
platform that has very wide deployment and use.

As part of modernizing the platform, we need to implement a
proper irqchip in the irqchip subsystem.

The IXP4xx irqchip is tightly jotted together with the GPIO
controller, and whereas in the past we would deal with this
complex logic by adding necessarily different code, we can
nowadays modernize it using a hierarchical irqchip.

The actual IXP4 irqchip is a simple active low level IRQ
controller, whereas the GPIO functionality resides in a
different memory area and adds edge trigger support for
the interrupts.

The interrupts from GPIO lines 0..12 are 1:1 mapped to
a fixed set of hardware IRQs on this IRQchip, so we
expect the child GPIO interrupt controller to go in and
allocate descriptors for these interrupts.

For the other interrupts, as we do not yet have DT
support for this platform, we create a linear irqdomain
and then go in and allocate the IRQs that the legacy
boards use. This code will be removed on the DT probe
path when we add DT support to the platform.

We add some translation code for supporting DT
translations for the fwnodes, but we leave most of that
for later.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-04-19 20:37:50 +02:00
..
alphascale_asm9260-icoll.h
exynos-combiner.c
irq-alpine-msi.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-armada-370-xp.c irqchip updates for 4.14 2017-08-31 20:12:51 +02:00
irq-aspeed-i2c-ic.c irqchip/aspeed-i2c-ic: Fix return value check in aspeed_i2c_ic_of_init() 2017-10-19 11:22:43 +01:00
irq-aspeed-vic.c irqchip/aspeed-vic: Add AST2500 compatible string 2017-06-22 14:13:39 +01:00
irq-ath79-cpu.c
irq-ath79-misc.c
irq-ativic32.c nds32: Power management for nds32 2018-11-06 18:01:41 +08:00
irq-atmel-aic5.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic-common.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic-common.h irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-bcm2835.c irqchip: bcm283x: Switch to SPDX identifier 2018-12-13 09:35:36 +00:00
irq-bcm2836.c irqchip: bcm283x: Switch to SPDX identifier 2018-12-13 09:35:36 +00:00
irq-bcm6345-l1.c irqchip/bcm-6345-l1: Report that effective affinity is a single target 2017-08-18 10:54:41 +02:00
irq-bcm7038-l1.c irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP 2018-08-13 09:02:54 +01:00
irq-bcm7120-l2.c irqchip/bcm: Remove hashed address printing 2018-02-16 14:22:16 +00:00
irq-brcmstb-l2.c irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code 2019-02-21 10:32:34 +00:00
irq-clps711x.c
irq-crossbar.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-csky-apb-intc.c irqchip/csky: fixup handle_irq_perbit break irq 2019-01-09 00:18:46 +08:00
irq-csky-mpintc.c irqchip: add C-SKY SMP interrupt controller 2018-10-26 00:54:29 +08:00
irq-davinci-aintc.c irqchip: davinci-aintc: move the driver to drivers/irqchip 2019-02-19 20:02:17 +05:30
irq-davinci-cp-intc.c irqchip: davinci-cp-intc: move the driver to drivers/irqchip 2019-02-19 20:03:42 +05:30
irq-digicolor.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-dw-apb-ictl.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-eznps.c irqchip/eznps: Drop pointless static qualifier in nps400_of_init() 2016-10-19 14:24:36 +02:00
irq-ftintc010.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-gic-common.c irqchip/gic: Add support to device tree based quirks 2018-12-13 17:23:37 +00:00
irq-gic-common.h irqchip/gic: Add support to device tree based quirks 2018-12-13 17:23:37 +00:00
irq-gic-pm.c irqchip/gic-pm: Update driver to use of_pm_clk_add_clk 2016-09-12 19:46:28 +01:00
irq-gic-realview.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-gic-v2m.c irqchip/gic-v2m: Fix SPI release on error path 2018-06-22 14:22:00 +02:00
irq-gic-v3-its-fsl-mc-msi.c irqchip/gic-v3-its: Move minimum LPI requirements to individual busses 2018-07-16 14:22:19 +01:00
irq-gic-v3-its-pci-msi.c irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices 2018-07-27 10:01:24 +01:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3-its: Move minimum LPI requirements to individual busses 2018-07-16 14:22:19 +01:00
irq-gic-v3-its.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-05 12:21:47 -08:00
irq-gic-v3-mbi.c irqchip/gic-v3-mbi: Fix uninitialized mbi_lock 2019-01-17 17:03:44 +00:00
irq-gic-v3.c irqchip/gic-v3: Allow interrupts to be set as pseudo-NMI 2019-02-06 10:05:21 +00:00
irq-gic-v4.c irqchip/gic-v4: Clear IRQ_DISABLE_UNLAZY again if mapping fails 2017-11-10 09:50:36 +00:00
irq-gic.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-goldfish-pic.c irqchip/irq-goldfish-pic: Add Goldfish PIC driver 2018-01-04 11:14:04 +00:00
irq-hip04.c irqchip/hip04: Report that effective affinity is a single target 2017-08-18 10:54:42 +02:00
irq-i8259.c irqchip/i8259: Fix shutdown order by moving syscore_ops registration 2019-02-14 10:42:11 +00:00
irq-imgpdc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-imx-gpcv2.c irqchip/irq-imx-gpcv2: Add IRQCHIP_DECLARE for i.MX8MQ compatible 2018-12-18 12:59:18 +00:00
irq-imx-irqsteer.c irqchip/imx-irqsteer: Add multi output interrupts support 2019-02-22 09:23:46 +00:00
irq-ingenic.c irqchip/ingenic: Add support for the JZ4725B SoC 2018-07-19 16:12:27 +01:00
irq-ixp4xx.c irqchip: Add driver for IXP4xx 2019-04-19 20:37:50 +02:00
irq-jcore-aic.c irqchip/jcore: Fix lost per-cpu interrupts 2016-10-14 14:26:55 +02:00
irq-keystone.c irqchip/keystone: Fix "scheduling while atomic" on rt 2016-12-31 18:41:45 +00:00
irq-lpc32xx.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-ls1x.c irqchip: Add driver for Loongson-1 interrupt controller 2019-02-14 10:34:18 +00:00
irq-ls-scfg-msi.c irqchip/ls-scfg-msi: Fix MSI affinity handling 2018-06-22 14:22:00 +02:00
irq-madera.c irqchip/madera: Drop GPIO includes 2019-01-17 17:04:24 +00:00
irq-mbigen.c irqchip/irq-mbigen: Constify irq_domain_ops 2017-06-22 14:13:00 +01:00
irq-meson-gpio.c irqchip/meson-gpio: Add support for Meson-AXG SoCs 2018-05-24 12:34:18 +01:00
irq-mips-cpu.c MIPS: Unify checks for sibling CPUs 2017-08-30 00:57:27 +02:00
irq-mips-gic.c irqchip/mips-gic: Avoid spuriously handling masked interrupts 2018-02-16 13:47:58 +00:00
irq-mmp.c irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable 2019-01-29 15:48:52 +00:00
irq-mscc-ocelot.c irqchhip: Convert to using %pOFn instead of device_node.name 2018-12-13 09:35:56 +00:00
irq-mtk-cirq.c irqchip: Add Mediatek mtk-cirq driver 2017-04-07 10:52:22 +01:00
irq-mtk-sysirq.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-mvebu-gicp.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-mvebu-icu.c irqchip/irq-mvebu-icu: Add support for System Error Interrupts (SEI) 2018-10-02 12:00:30 +01:00
irq-mvebu-odmi.c
irq-mvebu-pic.c irqchip/mvebu-pic: New driver for Marvell Armada 7K/8K PIC 2016-08-22 22:58:27 +00:00
irq-mvebu-sei.c irqchip/irq-mvebu-sei: Fix a NULL vs IS_ERR() bug in probe function 2018-11-01 12:38:48 +01:00
irq-mxs.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-nvic.c
irq-omap-intc.c irqchip/irq-omap-intc: Do not statically initialize variables 2017-10-16 21:05:14 +02:00
irq-ompic.c irqchip/ompic: fix return value check in ompic_of_init() 2018-01-04 11:13:22 +00:00
irq-or1k-pic.c irqchip/or1k-pic: Fix interrupt acknowledgement 2017-06-30 15:33:11 +01:00
irq-orion.c irqchip: Convert to using %pOFn instead of device_node.name 2018-11-27 10:54:17 -06:00
irq-partition-percpu.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-pic32-evic.c
irq-rda-intc.c irqchip/irq-rda-intc: Fix return value check in rda8810_intc_init() 2018-12-18 12:55:23 +00:00
irq-renesas-h8s.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-renesas-h8300h.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-renesas-intc-irqpin.c irqchip/irq-renesas-intc-irqpin: Convert to SPDX identifiers 2018-12-13 09:35:46 +00:00
irq-renesas-irqc.c irqchip/irq-renesas-irqc: Convert to SPDX identifiers 2018-12-13 09:35:37 +00:00
irq-s3c24xx.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-sa11x0.c
irq-sifive-plic.c irqchip/sifive-plic: Implement irq_set_affinity() for SMP host 2019-02-21 10:32:21 +00:00
irq-sirfsoc.c
irq-sni-exiu.c irqchip/exiu: Fix return value check in exiu_init() 2017-11-14 11:27:22 +01:00
irq-st.c irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused 2016-12-19 10:55:43 +01:00
irq-stm32-exti.c irqchip/stm32-exti: Add domain translate function 2019-01-17 16:51:59 +00:00
irq-sun4i.c irqchip/sun4i: Add support for Allwinner ARMv5 F1C100s 2018-12-13 09:35:58 +00:00
irq-sunxi-nmi.c irqchip/sunxi-nmi: Support sun6i-a31-r-intc compatible 2017-06-22 14:08:17 +01:00
irq-tango.c irqchhip: Convert to using %pOFn instead of device_node.name 2018-12-13 09:35:56 +00:00
irq-tb10x.c irqchip: Convert to using %pOFn instead of device_node.name 2018-11-27 10:54:17 -06:00
irq-tegra.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-ts4800.c
irq-uniphier-aidet.c irqchip: Add UniPhier AIDET irqchip driver 2017-08-23 10:08:44 +01:00
irq-versatile-fpga.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-vf610-mscm-ir.c
irq-vic.c irqchip/vic: Improve function-level documentation 2016-10-05 11:53:35 +02:00
irq-vt8500.c
irq-xilinx-intc.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-xtensa-mx.c drivers/irqchip: xtensa-mx: fix mask and unmask 2019-01-26 02:02:15 -08:00
irq-xtensa-pic.c drivers/irqchip: xtensa: add warning to irq_retrigger 2019-01-26 02:02:14 -08:00
irq-zevio.c
irqchip.c
Kconfig irqchip: Add driver for IXP4xx 2019-04-19 20:37:50 +02:00
Makefile irqchip: Add driver for IXP4xx 2019-04-19 20:37:50 +02:00
qcom-irq-combiner.c irqchip/qcom: Fix check for spurious interrupts 2018-05-02 15:56:10 +02:00
qcom-pdc.c irqchip/pdc: Setup all edge interrupts as rising edge at GIC 2018-10-02 10:37:38 +01:00
spear-shirq.c