static void mobiveil_mask_intx_irq(struct irq_data *data)
 {
-       struct irq_desc *desc = irq_to_desc(data->irq);
-       struct mobiveil_pcie *pcie;
+       struct mobiveil_pcie *pcie = irq_data_get_irq_chip_data(data);
        struct mobiveil_root_port *rp;
        unsigned long flags;
        u32 mask, shifted_val;
 
-       pcie = irq_desc_get_chip_data(desc);
        rp = &pcie->rp;
        mask = 1 << ((data->hwirq + PAB_INTX_START) - 1);
        raw_spin_lock_irqsave(&rp->intx_mask_lock, flags);
 
 static void mobiveil_unmask_intx_irq(struct irq_data *data)
 {
-       struct irq_desc *desc = irq_to_desc(data->irq);
-       struct mobiveil_pcie *pcie;
+       struct mobiveil_pcie *pcie = irq_data_get_irq_chip_data(data);
        struct mobiveil_root_port *rp;
        unsigned long flags;
        u32 shifted_val, mask;
 
-       pcie = irq_desc_get_chip_data(desc);
        rp = &pcie->rp;
        mask = 1 << ((data->hwirq + PAB_INTX_START) - 1);
        raw_spin_lock_irqsave(&rp->intx_mask_lock, flags);