linux/drivers/irqchip
Thomas Gleixner b66231183a irqchip/dw-apb-ictl: Fix generic domain chip wreckage
The num_ct argument of irq_alloc_domain_generic_chips() tells the core
code how many chip types (for different control flows,
e.g. edge/level) should be allocated. It does not control how many
generic chip instances are created because that's determined from the
irq domain size and the number of interrupts per chip.

The dw-apb init abuses the num_ct argument for allocating one or two
chip types depending on the number of interrupts. That's completely
wrong because the alternate type is never used.

This code was obviously never tested on a system which has more than
32 interrupts as that would have never worked due to the unitialized
second generic chip instance.

Hand in the proper num_ct=1 and fixup the chip initialization along
with the interrupt handler.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jisheng Zhang <jszhang@marvell.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/20150706101543.373582262@linutronix.de
2015-07-11 23:14:23 +02:00
..
exynos-combiner.c irqchip: exynos-combiner: Save IRQ enable set on suspend 2015-06-16 11:34:41 +02:00
irq-armada-370-xp.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-atmel-aic5.c irqchip: atmel-aic5: Add sama5d2 support 2015-06-18 15:29:52 +02:00
irq-atmel-aic-common.c irqchip: atmel-aic-common: Prevent clobbering of priority when changing IRQ type 2015-01-07 12:41:45 +00:00
irq-atmel-aic-common.h irqchip: atmel-aic: Add irq fixup for RTT block 2014-11-09 04:36:38 +00:00
irq-atmel-aic.c Merge branch 'irqchip/atmel' into irqchip/core 2014-11-26 07:02:27 +00:00
irq-bcm2835.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-bcm7038-l1.c IRQCHIP: Add new driver for BCM7038-style level 1 interrupt controllers 2015-04-01 17:21:37 +02:00
irq-bcm7120-l2.c IRQCHIP: bcm7120-l2: Add support for BCM3380-style controllers 2015-04-01 17:21:37 +02:00
irq-brcmstb-l2.c IRQCHIP: brcmstb-l2: don't clear wakeable interrupts at init time 2015-04-01 17:21:36 +02:00
irq-clps711x.c irqchip: clps711x: Convert to handle_domain_irq 2014-09-03 13:10:32 +00:00
irq-crossbar.c irqchip: crossbar: Convert dra7 crossbar to stacked domains 2015-03-15 00:55:24 +00:00
irq-digicolor.c irqchip: digicolor: Move digicolor_set_gc to init section 2015-03-23 10:00:52 +00:00
irq-dw-apb-ictl.c irqchip/dw-apb-ictl: Fix generic domain chip wreckage 2015-07-11 23:14:23 +02:00
irq-gic-common.c irqchip: gic: Simplify gic_configure_irq by using IRQCHIP_SET_TYPE_MASKED 2015-06-05 22:26:33 +02:00
irq-gic-common.h irqchip: gic: Allow interrupt level to be set for PPIs 2015-01-26 11:38:23 +01:00
irq-gic-v2m.c irqchip: gic-v2m: Add support for ARM GICv2m MSI(-X) doorbell 2014-11-26 15:55:18 +00:00
irq-gic-v3-its.c irqchip/gicv3-its: ITS table size should not be smaller than PSZ 2015-05-20 22:13:37 +02:00
irq-gic-v3.c irqchip: gic: Simplify gic_configure_irq by using IRQCHIP_SET_TYPE_MASKED 2015-06-05 22:26:33 +02:00
irq-gic.c irqchip: gic: Simplify gic_configure_irq by using IRQCHIP_SET_TYPE_MASKED 2015-06-05 22:26:33 +02:00
irq-hip04.c irqchip: gic: Simplify gic_configure_irq by using IRQCHIP_SET_TYPE_MASKED 2015-06-05 22:26:33 +02:00
irq-imgpdc.c irq-imgpdc: add ImgTec PDC irqchip driver 2013-08-21 14:17:56 +01:00
irq-ingenic.c MIPS/IRQCHIP: Move Ingenic SoC intc driver to drivers/irqchip 2015-06-21 21:53:10 +02:00
irq-keystone.c irq: irq-keystone: Fix race in installing chained IRQ handler 2015-06-18 14:03:08 +02:00
irq-metag-ext.c irq-metag*: stop set_affinity vectoring to offline cpus 2014-02-25 22:35:06 +00:00
irq-metag.c irq-metag*: stop set_affinity vectoring to offline cpus 2014-02-25 22:35:06 +00:00
irq-mips-cpu.c IRQCHIP: irq_cpu: declare irqchip table entry 2015-06-21 21:52:52 +02:00
irq-mips-gic.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 19:42:56 -07:00
irq-mmp.c irqchip: mmp: Convert to handle_domain_irq 2014-09-03 13:10:34 +00:00
irq-moxart.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irq-mtk-sysirq.c irqchip: mtk-sysirq: Make mtk_sysirq_of_init return error if ioremap fails 2015-05-22 11:06:47 +02:00
irq-mxs.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-nvic.c irqchip: nvic: Support hierarchy irq domain 2015-05-18 17:32:44 +02:00
irq-omap-intc.c irqchip: omap-intc: Remove unused legacy interface for omap2 2015-01-26 11:38:23 +01:00
irq-or1k-pic.c irqchip: or1k-pic: Convert to handle_domain_irq 2014-09-03 13:10:54 +00:00
irq-orion.c irqchip: orion: Convert to handle_domain_irq 2014-09-03 13:10:37 +00:00
irq-renesas-h8s.c h8300: IRQ chip driver 2015-06-23 13:35:56 +09:00
irq-renesas-h8300h.c h8300: IRQ chip driver 2015-06-23 13:35:56 +09:00
irq-renesas-intc-irqpin.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-renesas-irqc.c irqchip: irqc: Remove platform data support 2015-05-05 10:45:59 +02:00
irq-s3c24xx.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-sa11x0.c Merge branch 'sa1100' into for-next 2015-06-12 21:18:13 +01:00
irq-sirfsoc.c irqchip: sirfsoc: Convert to handle_domain_irq 2014-09-03 13:10:40 +00:00
irq-st.c irqchip: st: Supply new driver for STi based devices 2015-03-03 19:48:53 +00:00
irq-sun4i.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-sunxi-nmi.c irqchip: sunxi-nmi: Fix off-by-one error in irq iterator 2015-06-08 10:08:50 +02:00
irq-tb10x.c genirq: Generic chip: Change irq_reg_{readl,writel} arguments 2014-11-09 04:01:22 +00:00
irq-tegra.c irqchip: tegra: Set the proper base address in irq chip data 2015-05-13 10:46:07 +02:00
irq-versatile-fpga.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-vf610-mscm-ir.c Merge branch 'irq/for-arm' into irq/core 2015-05-18 23:59:33 +02:00
irq-vic.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-vt8500.c irqchip: Constify irq_domain_ops 2015-05-05 10:45:58 +02:00
irq-xtensa-mx.c irqchip: xtensa: Select only an online cpu 2014-03-04 17:37:55 +01:00
irq-xtensa-pic.c xtensa: move built-in PIC to drivers/irqchip 2014-01-14 10:19:56 -08:00
irq-zevio.c irqchip: zevio: Convert to handle_domain_irq 2014-09-03 13:10:48 +00:00
irqchip.c irqchip: Add GICv2 specific ACPI boot support 2015-03-26 15:13:07 +00:00
irqchip.h irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h 2015-07-02 22:34:38 +02:00
Kconfig Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-06-27 12:44:34 -07:00
Makefile Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-06-27 12:44:34 -07:00
spear-shirq.c irq: spear-shirq: Fix race in installing chained IRQ handler 2015-06-18 14:03:09 +02:00