[RFC PATCH v2 4/6] powerpc: wii: hollywood interrupt controller support
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sat Dec 12 09:01:51 EST 2009
On Thu, 2009-12-03 at 23:47 +0100, Albert Herranz wrote:
> +static void hlwd_pic_irq_cascade(unsigned int cascade_virq,
> + struct irq_desc *desc)
> +{
> + struct irq_host *irq_host = get_irq_data(cascade_virq);
> + unsigned int virq;
> +
> + spin_lock(&desc->lock);
> + desc->chip->mask(cascade_virq); /* IRQ_LEVEL */
> + spin_unlock(&desc->lock);
> +
> + virq = __hlwd_pic_get_irq(irq_host);
> + if (virq != NO_IRQ)
> + generic_handle_irq(virq);
> + else
> + pr_err("spurious interrupt!\n");
> +
> + spin_lock(&desc->lock);
> + desc->chip->ack(cascade_virq); /* IRQ_LEVEL */
> + if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask)
> + desc->chip->unmask(cascade_virq);
> + spin_unlock(&desc->lock);
> +}
The above would not be necessary if instead of using a chained handler
you used a normal one, which is what I do for pmac-pic.
No big deal for now, though.
Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
More information about the Linuxppc-dev
mailing list