These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / irqchip / irq-bcm7038-l1.c
index d3b8c8b..0fea985 100644 (file)
 #include <linux/slab.h>
 #include <linux/smp.h>
 #include <linux/types.h>
+#include <linux/irqchip.h>
 #include <linux/irqchip/chained_irq.h>
 
-#include "irqchip.h"
-
 #define IRQS_PER_WORD          32
 #define REG_BYTES_PER_IRQ_WORD (sizeof(u32) * 4)
 #define MAX_WORDS              8
@@ -116,7 +115,7 @@ static inline void l1_writel(u32 val, void __iomem *reg)
                writel(val, reg);
 }
 
-static void bcm7038_l1_irq_handle(unsigned int irq, struct irq_desc *desc)
+static void bcm7038_l1_irq_handle(struct irq_desc *desc)
 {
        struct bcm7038_l1_chip *intc = irq_desc_get_handler_data(desc);
        struct bcm7038_l1_cpu *cpu;
@@ -257,8 +256,8 @@ static int __init bcm7038_l1_init_one(struct device_node *dn,
                pr_err("failed to map parent interrupt %d\n", parent_irq);
                return -EINVAL;
        }
-       irq_set_handler_data(parent_irq, intc);
-       irq_set_chained_handler(parent_irq, bcm7038_l1_irq_handle);
+       irq_set_chained_handler_and_data(parent_irq, bcm7038_l1_irq_handle,
+                                        intc);
 
        return 0;
 }