Name

of_irq_parse_one — Resolve an interrupt for a device

Synopsis

int of_irq_parse_one (struct device_node * device,
 int index,
 struct of_phandle_args * out_irq);
 

Arguments

device

Pointer to node of device whose interrupt is to be resolved

index

Zero-based index of the irq

out_irq

Pointer used to return the interrupt specifier

Description

This function resolves an interrupt for a node by walking the interrupt tree, finding which interrupt controller node it is attached to, and returning the interrupt specifier that can be used to retrieve a Linux IRQ number.

If the node device contains the #interrupt-extended property, index is used to select an entry from the property and that entry is resolved, starting the tree walk at the node referenced by the phandle in that entry.

Otherwise index is used to select an entry from the interrupts property and the values in that entry are used for matches while walking the interrupt tree.

In either case, the value of the reg property in node device is used as the address to for matches while walking the interrupt tree.

See of_irq_parse_raw for details on how an interrupt is resolved.

On success the final translated interrupt specifier is returned in out_irq.

Return

0 on success, -EINVAL on error.