These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / mfd / t7l66xb.c
index c09fb5d..94bd89c 100644 (file)
@@ -185,9 +185,9 @@ static struct mfd_cell t7l66xb_cells[] = {
 /*--------------------------------------------------------------------------*/
 
 /* Handle the T7L66XB interrupt mux */
-static void t7l66xb_irq(unsigned int irq, struct irq_desc *desc)
+static void t7l66xb_irq(struct irq_desc *desc)
 {
-       struct t7l66xb *t7l66xb = irq_get_handler_data(irq);
+       struct t7l66xb *t7l66xb = irq_desc_get_handler_data(desc);
        unsigned int isr;
        unsigned int i, irq_base;
 
@@ -246,14 +246,10 @@ static void t7l66xb_attach_irq(struct platform_device *dev)
        for (irq = irq_base; irq < irq_base + T7L66XB_NR_IRQS; irq++) {
                irq_set_chip_and_handler(irq, &t7l66xb_chip, handle_level_irq);
                irq_set_chip_data(irq, t7l66xb);
-#ifdef CONFIG_ARM
-               set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
-#endif
        }
 
        irq_set_irq_type(t7l66xb->irq, IRQ_TYPE_EDGE_FALLING);
-       irq_set_handler_data(t7l66xb->irq, t7l66xb);
-       irq_set_chained_handler(t7l66xb->irq, t7l66xb_irq);
+       irq_set_chained_handler_and_data(t7l66xb->irq, t7l66xb_irq, t7l66xb);
 }
 
 static void t7l66xb_detach_irq(struct platform_device *dev)
@@ -263,13 +259,9 @@ static void t7l66xb_detach_irq(struct platform_device *dev)
 
        irq_base = t7l66xb->irq_base;
 
-       irq_set_chained_handler(t7l66xb->irq, NULL);
-       irq_set_handler_data(t7l66xb->irq, NULL);
+       irq_set_chained_handler_and_data(t7l66xb->irq, NULL, NULL);
 
        for (irq = irq_base; irq < irq_base + T7L66XB_NR_IRQS; irq++) {
-#ifdef CONFIG_ARM
-               set_irq_flags(irq, 0);
-#endif
                irq_set_chip(irq, NULL);
                irq_set_chip_data(irq, NULL);
        }
@@ -318,7 +310,7 @@ static int t7l66xb_probe(struct platform_device *dev)
        struct resource *iomem, *rscr;
        int ret;
 
-       if (pdata == NULL)
+       if (!pdata)
                return -EINVAL;
 
        iomem = platform_get_resource(dev, IORESOURCE_MEM, 0);
@@ -371,7 +363,7 @@ static int t7l66xb_probe(struct platform_device *dev)
 
        clk_prepare_enable(t7l66xb->clk48m);
 
-       if (pdata && pdata->enable)
+       if (pdata->enable)
                pdata->enable(dev);
 
        /* Mask all interrupts */