summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPatrick Rudolph <[email protected]>2024-10-23 15:20:05 +0200
committerTom Rini <[email protected]>2024-10-27 17:24:13 -0600
commitf116feadea7be9afe412c25779dfcf241c121715 (patch)
treed2393bdb3a798da9bf23a6d909f8fa8a4ba7c658 /include
parentdf8d759d9db17b55d6283a9a1d84d196e9cc1dd4 (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.h14
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)