···8686}8787#endif88888989+static int try_retrigger(struct irq_desc *desc)9090+{9191+ if (desc->irq_data.chip->irq_retrigger)9292+ return desc->irq_data.chip->irq_retrigger(&desc->irq_data);9393+9494+#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY9595+ return irq_chip_retrigger_hierarchy(&desc->irq_data);9696+#else9797+ return 0;9898+#endif9999+}100100+89101/*90102 * IRQ resend91103 *···125113126114 desc->istate &= ~IRQS_PENDING;127115128128- if (!desc->irq_data.chip->irq_retrigger ||129129- !desc->irq_data.chip->irq_retrigger(&desc->irq_data))116116+ if (!try_retrigger(desc))130117 err = irq_sw_resend(desc);131118132119 /* If the retrigger was successfull, mark it with the REPLAY bit */