summaryrefslogtreecommitdiff
path: root/drivers/irqchip/irq-atmel-aic-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/irqchip/irq-atmel-aic-common.c')
-rw-r--r--drivers/irqchip/irq-atmel-aic-common.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c
index 3cad30a40c19..e68853815c7a 100644
--- a/drivers/irqchip/irq-atmel-aic-common.c
+++ b/drivers/irqchip/irq-atmel-aic-common.c
@@ -187,20 +187,11 @@ void __init aic_common_rtt_irq_fixup(void)
static void __init aic_common_irq_fixup(const struct of_device_id *matches)
{
- struct device_node *root = of_find_node_by_path("/");
- const struct of_device_id *match;
+ void (*fixup)(void);
- if (!root)
- return;
-
- match = of_match_node(matches, root);
-
- if (match) {
- void (*fixup)(void) = match->data;
+ fixup = of_machine_get_match_data(matches);
+ if (fixup)
fixup();
- }
-
- of_node_put(root);
}
struct irq_domain *__init aic_common_of_init(struct device_node *node,