Exemple #1
0
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;
}
Exemple #2
0
static irqreturn_t cpm2_cascade(int irq, void *dev_id)
{
	while ((irq = cpm2_get_irq()) >= 0)
		__do_IRQ(irq);

	return IRQ_HANDLED;
}
Exemple #3
0
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);
}
Exemple #4
0
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);
}
Exemple #5
0
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;
}