summaryrefslogtreecommitdiffstats
path: root/drivers/of/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/of/irq.c')
-rw-r--r--drivers/of/irq.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 410aa2415f4..a7db38a6340 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -36,13 +36,12 @@
*/
unsigned int irq_of_parse_and_map(struct device_node *dev, int index)
{
- struct of_irq oirq;
+ struct of_phandle_args oirq;
if (of_irq_parse_one(dev, index, &oirq))
return 0;
- return irq_create_of_mapping(oirq.controller, oirq.specifier,
- oirq.size);
+ return irq_create_of_mapping(oirq.np, oirq.args, oirq.args_count);
}
EXPORT_SYMBOL_GPL(irq_of_parse_and_map);
@@ -94,7 +93,7 @@ struct device_node *of_irq_find_parent(struct device_node *child)
* node exist for the parent.
*/
int of_irq_parse_raw(struct device_node *parent, const __be32 *intspec,
- u32 ointsize, const __be32 *addr, struct of_irq *out_irq)
+ u32 ointsize, const __be32 *addr, struct of_phandle_args *out_irq)
{
struct device_node *ipar, *tnode, *old = NULL, *newpar = NULL;
const __be32 *tmp, *imap, *imask;
@@ -156,10 +155,10 @@ int of_irq_parse_raw(struct device_node *parent, const __be32 *intspec,
NULL) {
pr_debug(" -> got it !\n");
for (i = 0; i < intsize; i++)
- out_irq->specifier[i] =
+ out_irq->args[i] =
of_read_number(intspec +i, 1);
- out_irq->size = intsize;
- out_irq->controller = ipar;
+ out_irq->args_count = intsize;
+ out_irq->np = ipar;
of_node_put(old);
return 0;
}
@@ -280,7 +279,7 @@ EXPORT_SYMBOL_GPL(of_irq_parse_raw);
* This function resolves an interrupt, walking the tree, for a given
* device-tree node. It's the high level pendant to of_irq_parse_raw().
*/
-int of_irq_parse_one(struct device_node *device, int index, struct of_irq *out_irq)
+int of_irq_parse_one(struct device_node *device, int index, struct of_phandle_args *out_irq)
{
struct device_node *p;
const __be32 *intspec, *tmp, *addr;