linux/kernel/irq
Marc Zyngier c5c601c429 irqdomain: Allow ACPI device nodes to be used as irqdomain identifiers
A number of irqchip implementations are (ab)using the irqdomain allocator
by passing a fwnode that is neither a FWNODE_OF or a FWNODE_IRQCHIP.

This is pretty bad, but it also feels pretty crap to force these drivers to
allocate their own irqchip_fwid when they already have a proper fwnode.

Instead, let's teach the irqdomain allocator about ACPI device nodes, and
add some lovely name generation code... Tested on an arm64 D05 system.

Reported-and-tested-by: John Garry <john.garry@huawei.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Agustin Vega-Frias <agustinv@codeaurora.org>
Cc: Ma Jun <majun258@huawei.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>
Link: http://lkml.kernel.org/r/20170707083959.10349-1-marc.zyngier@arm.com
2017-07-07 12:13:29 +02:00
..
affinity.c genirq/affinity: Assign vectors to all present CPUs 2017-06-22 18:21:26 +02:00
autoprobe.c genirq: Add force argument to irq_startup() 2017-06-22 18:21:24 +02:00
chip.c genirq: Force inlining of __irq_startup_managed to prevent build failure 2017-07-04 12:36:44 +02:00
cpuhotplug.c genirq/cpuhotplug: Avoid irq affinity setting for single targets 2017-06-22 18:21:25 +02:00
debug.h irq: hide debug macros so they don't collide with others. 2012-04-23 12:30:03 -04:00
debugfs.c genirq/debugfs: Remove pointless NULL pointer check 2017-06-24 11:43:53 +02:00
devres.c irq/generic-chip: Provide devm_irq_setup_generic_chip() 2017-06-21 15:53:11 +02:00
dummychip.c Merge branch 'linus' into irq/core 2015-06-05 22:25:01 +02:00
generic-chip.c irq/generic-chip: Export irq_init_generic_chip() locally 2017-06-21 15:53:11 +02:00
handle.c genirq/timings: Add infrastructure to track the interrupt timings 2017-06-24 11:44:11 +02:00
internals.h genirq/debugfs: Fix build for !CONFIG_IRQ_DOMAIN 2017-07-04 12:36:43 +02:00
ipi.c genirq: Fix missing irq allocation affinity hint 2016-07-19 10:49:47 +02:00
irqdesc.c genirq: Add mutex to irq desc to serialize request/free_irq() 2017-07-04 12:46:16 +02:00
irqdomain.c irqdomain: Allow ACPI device nodes to be used as irqdomain identifiers 2017-07-07 12:13:29 +02:00
Kconfig genirq/timings: Add infrastructure to track the interrupt timings 2017-06-24 11:44:11 +02:00
Makefile genirq/timings: Add infrastructure to track the interrupt timings 2017-06-24 11:44:11 +02:00
manage.c genirq: Allow to pass the IRQF_TIMER flag with percpu irq request 2017-07-06 23:16:22 +02:00
migration.c genirq: Provide irq_fixup_move_pending() 2017-06-22 18:21:13 +02:00
msi.c genirq/irqdomain: Remove auto-recursive hierarchy support 2017-06-22 18:29:34 +02:00
pm.c Merge branches 'irq-urgent-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-15 09:30:48 -08:00
proc.c genirq: Introduce effective affinity mask 2017-06-22 18:21:20 +02:00
resend.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
settings.h genirq: Add flag to force mask in disable_irq[_nosync]() 2015-10-11 11:33:42 +02:00
spurious.c genirq: Clarify logic calculating bogus irqreturn_t values 2017-02-16 15:32:19 +01:00
timings.c genirq/timings: Add infrastructure for estimating the next interrupt arrival time 2017-06-24 11:44:39 +02:00