[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