ACPI: Add support for ResourceSource/IRQ domain mapping
ACPI extended IRQ resources may contain a ResourceSource to specify an alternate interrupt controller. Introduce acpi_irq_get and use it to implement ResourceSource/IRQ domain mapping. The new API is similar to of_irq_get and allows re-initialization of a platform resource from the ACPI extended IRQ resource, and provides proper behavior for probe deferral when the domain is not yet present when called. Acked-by: Rafael J. Wysocki <rafael@kernel.org> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org> Tested-by: Hanjun Guo <hanjun.guo@linaro.org> Signed-off-by: Agustin Vega-Frias <agustinv@codeaurora.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
This commit is contained in:

committed by
Marc Zyngier

parent
fa20b176f6
commit
d44fa3d460
@@ -102,6 +102,16 @@ int platform_get_irq(struct platform_device *dev, unsigned int num)
|
||||
}
|
||||
|
||||
r = platform_get_resource(dev, IORESOURCE_IRQ, num);
|
||||
if (has_acpi_companion(&dev->dev)) {
|
||||
if (r && r->flags & IORESOURCE_DISABLED) {
|
||||
int ret;
|
||||
|
||||
ret = acpi_irq_get(ACPI_HANDLE(&dev->dev), num, r);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* The resources may pass trigger flags to the irqs that need
|
||||
* to be set up. It so happens that the trigger flags for
|
||||
|
Reference in New Issue
Block a user