Add GSI IRQ domain getter function (acpi_get_gsi_domain_id), for IRQ drivers that use ACPI and need the IRQ parent domain to register their irq-chip device. Signed-off-by: Hanna Hawa <hhhawa@xxxxxxxxxx> Co-developed-by: Vladimir Aerov <vaerov@xxxxxxxxxx> Signed-off-by: Vladimir Aerov <vaerov@xxxxxxxxxx> --- drivers/acpi/irq.c | 13 +++++++++++++ include/linux/acpi.h | 1 + 2 files changed, 14 insertions(+) diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c index 7c352cb..efc57b1 100644 --- a/drivers/acpi/irq.c +++ b/drivers/acpi/irq.c @@ -295,3 +295,16 @@ void __init acpi_set_irq_model(enum acpi_irq_model_id model, acpi_irq_model = model; acpi_gsi_domain_id = fwnode; } + +/** + * acpi_get_gsi_domain_id - getter for the GSI irqdomain information + * + * return: + * @fwnode: return the irq_domain identifier for mapping and looking up + * GSI interrupts + */ +struct fwnode_handle *acpi_get_gsi_domain_id(void) +{ + return acpi_gsi_domain_id; +} +EXPORT_SYMBOL_GPL(acpi_get_gsi_domain_id); diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 87715f2..642c2e2 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -322,6 +322,7 @@ int acpi_isa_irq_to_gsi (unsigned isa_irq, u32 *gsi); void acpi_set_irq_model(enum acpi_irq_model_id model, struct fwnode_handle *fwnode); +struct fwnode_handle *acpi_get_gsi_domain_id(void); #ifdef CONFIG_X86_IO_APIC extern int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity); -- 2.7.4