diff options
| author | Patrick Rudolph <[email protected]> | 2024-10-23 15:20:05 +0200 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2024-10-27 17:24:13 -0600 |
| commit | f116feadea7be9afe412c25779dfcf241c121715 (patch) | |
| tree | d2393bdb3a798da9bf23a6d909f8fa8a4ba7c658 /include | |
| parent | df8d759d9db17b55d6283a9a1d84d196e9cc1dd4 (diff) | |
drivers: misc: irq-uclass: Update irq_get_by_index
Support reading the "interrupts" property from the devicetree in case
the "interrupts-extended" property isn't found. As the "interrupts"
property is commonly used, this allows to parse all existing FDT and
makes irq_get_by_index() more useful.
The "interrupts" property doesn't contain a phandle as "interrupts-extended"
does, so implement a new method to locate the interrupt-parent called
irq_get_interrupt_parent().
TEST: Read the interrupts from the GIC node for ACPI MADT generation.
Signed-off-by: Patrick Rudolph <[email protected]>
Reviewed-by: Moritz Fischer <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/irq.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/irq.h b/include/irq.h index 5638c10128e..0fbc1a5f485 100644 --- a/include/irq.h +++ b/include/irq.h @@ -200,6 +200,20 @@ int irq_restore_polarities(struct udevice *dev); */ int irq_read_and_clear(struct irq *irq); +/** + * irq_get_interrupt_parent() - returns the interrupt parent + * + * Walks the devicetree and returns the interrupt parent's ofnode + * for the specified device. + * + * @dev: device + * @interrupt_parent: The interrupt parent's ofnode' + * Return: 0 success, or error value + * + */ +int irq_get_interrupt_parent(const struct udevice *dev, + struct udevice **interrupt_parent); + struct phandle_2_arg; /** * irq_get_by_phandle() - Get an irq by its phandle information (of-platadata) |
