linux_dsm_epyc7002/kernel/irq
Andy Shevchenko 9ed78b05f9 irqdomain: Allow software nodes for IRQ domain creation
In some cases we need to have an IRQ domain created out of software node.

One of such cases is DesignWare GPIO driver when it's instantiated from
half-baked ACPI table (alas, we can't fix it for devices which are few years
on market) and thus using software nodes to quirk this. But the driver
is using IRQ domains based on per GPIO port firmware nodes, which are in
the above case software ones. This brings a warning message to be printed

  [   73.957183] irq: Invalid fwnode type for irqdomain

and creates an anonymous IRQ domain without a debugfs entry.

Allowing software nodes to be valid for IRQ domains rids us of the warning
and debugs gets correctly populated.

  % ls -1 /sys/kernel/debug/irq/domains/
  ...
  intel-quark-dw-apb-gpio:portA

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[maz: refactored commit message]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200520164927.39090-3-andriy.shevchenko@linux.intel.com
2020-05-21 10:53:17 +01:00
..
affinity.c genirq/affinity: Remove const qualifier from node_to_cpumask argument 2019-08-28 12:20:43 +02:00
autoprobe.c genirq: Delay deactivation in free_irq() 2019-07-03 10:12:28 +02:00
chip.c genirq: Provide interrupt injection mechanism 2020-03-08 11:06:42 +01:00
cpuhotplug.c genirq, sched/isolation: Isolate from handling managed interrupts 2020-01-22 16:29:49 +01:00
debug.h
debugfs.c genirq: Provide interrupt injection mechanism 2020-03-08 11:06:42 +01:00
devres.c genirq/devres: Use struct_size() in devm_kzalloc() 2019-04-16 21:54:03 +02:00
dummychip.c
generic-chip.c
handle.c x86 entry code updates: 2020-03-30 19:14:28 -07:00
internals.h genirq: Provide interrupt injection mechanism 2020-03-08 11:06:42 +01:00
ipi.c
irq_sim.c genirq/irq_sim: Simplify the API 2020-05-18 10:30:21 +01:00
irqdesc.c genirq: Add protection against unsafe usage of generic_handle_irq() 2020-03-08 11:06:40 +01:00
irqdomain.c irqdomain: Allow software nodes for IRQ domain creation 2020-05-21 10:53:17 +01:00
Kconfig genirq/irq_sim: Simplify the API 2020-05-18 10:30:21 +01:00
Makefile genirq/timings: Add selftest for circular array 2019-06-12 10:47:04 +02:00
manage.c genirq: Remove setup_irq() and remove_irq() 2020-04-14 10:08:50 +02:00
matrix.c
migration.c
msi.c x86/apic/msi: Plug non-maskable MSI affinity race 2020-02-01 09:31:47 +01:00
pm.c PCI: irq: Introduce rearm_wake_irq() 2019-07-23 09:37:51 +02:00
proc.c genirq/proc: Reject invalid affinity masks (again) 2020-02-14 09:43:17 +01:00
resend.c genirq: Provide interrupt injection mechanism 2020-03-08 11:06:42 +01:00
settings.h
spurious.c genirq: Add missing __must_hold() sparse annotation 2020-01-09 18:03:37 +01:00
timings.c genirq/timings: Add selftest for next event computation 2019-06-12 10:47:05 +02:00