[PATCH v2] irq_domain/microblaze: Convert microblaze to use irq_domains
Grant Likely
grant.likely at secretlab.ca
Fri Feb 3 07:01:13 EST 2012
On Thu, Feb 02, 2012 at 12:59:34PM +0100, Michal Simek wrote:
> From: Grant Likely <grant.likely at secretlab.ca>
>
> Move get_irq to asm/irq.h from hardirq.h.
>
> Grant: Why does your patch setup NR_IRQS to 64? It seems to me
> pretty big value because intc support up to 32 interrupts.
> The main problem was with get_irq function because there must
> check status of IVR.
>
> Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
> Signed-off-by: Michal Simek <monstr at monstr.eu>
> Cc: Rob Herring <rob.herring at calxeda.com>
> Cc: John Williams <john.williams at petalogix.com>
> Cc: John Linn <john.linn at xilinx.com>
>
> ---
> diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c
> index 3f613df..ace700a 100644
> --- a/arch/microblaze/kernel/irq.c
> +++ b/arch/microblaze/kernel/irq.c
> @@ -31,14 +31,13 @@ void __irq_entry do_IRQ(struct pt_regs *regs)
> trace_hardirqs_off();
>
> irq_enter();
> - irq = get_irq(regs);
> + irq = get_irq();
> next_irq:
> BUG_ON(!irq);
> - /* Substract 1 because of get_irq */
> - generic_handle_irq(irq + IRQ_OFFSET - NO_IRQ_OFFSET);
> + generic_handle_irq(irq);
>
> - irq = get_irq(regs);
> - if (irq) {
> + irq = get_irq();
> + if (irq != -1U) {
irq should never be -1 now with my current tree. I've just pushed it out,
can you take a look and try it with the original "if (!irq)" test?
g.
More information about the devicetree-discuss
mailing list