static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) { while ((irq = cpm2_get_irq(regs)) >= 0) __do_IRQ(irq, regs); return IRQ_HANDLED; }
static irqreturn_t cpm2_cascade(int irq, void *dev_id) { while ((irq = cpm2_get_irq()) >= 0) __do_IRQ(irq); return IRQ_HANDLED; }
static void cpm2_cascade(unsigned int irq, struct irq_desc *desc) { int cascade_irq; while ((cascade_irq = cpm2_get_irq()) >= 0) generic_handle_irq(cascade_irq); desc->chip->eoi(irq); }
static void cpm2_cascade(struct irq_desc *desc) { struct irq_chip *chip = irq_desc_get_chip(desc); int cascade_irq; while ((cascade_irq = cpm2_get_irq()) >= 0) generic_handle_irq(cascade_irq); chip->irq_eoi(&desc->irq_data); }
static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) { unsigned long flags; spin_lock_irqsave(&cpm2_lock, flags); while ((irq = cpm2_get_irq(regs)) >= 0) __do_IRQ(irq, regs); spin_unlock_irqrestore(&cpm2_lock, flags); return IRQ_HANDLED; }