Skip to content

Commit 9ed78b0

Browse files
andy-shevMarc Zyngier
authored andcommitted
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 <[email protected]> [maz: refactored commit message] Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 8752660 commit 9ed78b0

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

kernel/irq/irqdomain.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, int size,
161161
domain->name = fwid->name;
162162
break;
163163
}
164-
} else if (is_of_node(fwnode) || is_acpi_device_node(fwnode)) {
164+
} else if (is_of_node(fwnode) || is_acpi_device_node(fwnode) ||
165+
is_software_node(fwnode)) {
165166
char *name;
166167

167168
/*

0 commit comments

Comments
 (0)