irqchip: atmel-aic: Define irq fixups for atmel SoCs
[firefly-linux-kernel-4.4.55.git] / drivers / irqchip / irq-atmel-aic5.c
index c9c753adc15d49452645a7632d6eda6745bd28cd..edb2270815246cf8aece1406fdab20ec40de2b53 100644 (file)
@@ -290,6 +290,16 @@ static const struct irq_domain_ops aic5_irq_ops = {
        .xlate  = aic5_irq_domain_xlate,
 };
 
+static void __init sama5d3_aic_irq_fixup(struct device_node *root)
+{
+       aic_common_rtc_irq_fixup(root);
+}
+
+static const struct of_device_id __initdata aic5_irq_fixups[] = {
+       { .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup },
+       { /* sentinel */ },
+};
+
 static int __init aic5_of_init(struct device_node *node,
                               struct device_node *parent,
                               int nirqs)
@@ -310,6 +320,8 @@ static int __init aic5_of_init(struct device_node *node,
        if (IS_ERR(domain))
                return PTR_ERR(domain);
 
+       aic_common_irq_fixup(aic5_irq_fixups);
+
        aic5_domain = domain;
        nchips = aic5_domain->revmap_size / 32;
        for (i = 0; i < nchips; i++) {