{
        unsigned short sts0,sts1;
        unsigned int irq = data->irq;
-       struct irq_desc *desc = irq_to_desc(irq);
 
-       if (!(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
+       if (!irqd_irq_disabled(data) && !irqd_irq_inprogress(data))
                enable_se7206_irq(data);
        /* FPGA isr clear */
        sts0 = __raw_readw(INTSTS0);
 
                /* enable wakeup irqs belonging to this intc controller */
                for_each_active_irq(irq) {
                        struct irq_data *data;
-                       struct irq_desc *desc;
                        struct irq_chip *chip;
 
                        data = irq_get_irq_data(irq);
                        chip = irq_data_get_irq_chip(data);
                        if (chip != &d->chip)
                                continue;
-                       desc = irq_to_desc(irq);
-                       if ((desc->status & IRQ_WAKEUP))
+                       if (irqd_is_wakeup_set(data))
                                chip->irq_enable(data);
                }
        }
-
        return 0;
 }
 
 
                for_each_active_irq(irq) {
                        struct irq_data *data;
-                       struct irq_desc *desc;
                        struct irq_chip *chip;
 
                        data = irq_get_irq_data(irq);
                         */
                        if (chip != &d->chip)
                                continue;
-                       desc = irq_to_desc(irq);
-                       if (desc->status & IRQ_DISABLED)
+                       if (irqd_irq_disabled(data))
                                chip->irq_disable(data);
                        else
                                chip->irq_enable(data);