These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / arm / plat-orion / gpio.c
index 5168a52..7bd22d8 100644 (file)
@@ -407,9 +407,9 @@ static int gpio_irq_set_type(struct irq_data *d, u32 type)
        return 0;
 }
 
-static void gpio_irq_handler(unsigned irq, struct irq_desc *desc)
+static void gpio_irq_handler(struct irq_desc *desc)
 {
-       struct orion_gpio_chip *ochip = irq_get_handler_data(irq);
+       struct orion_gpio_chip *ochip = irq_desc_get_handler_data(desc);
        u32 cause, type;
        int i;
 
@@ -582,8 +582,9 @@ void __init orion_gpio_init(struct device_node *np,
 
        for (i = 0; i < 4; i++) {
                if (irqs[i]) {
-                       irq_set_handler_data(irqs[i], ochip);
-                       irq_set_chained_handler(irqs[i], gpio_irq_handler);
+                       irq_set_chained_handler_and_data(irqs[i],
+                                                        gpio_irq_handler,
+                                                        ochip);
                }
        }