[PATCH 3/9] irq: convert generic-chip to use irq_domain

Shawn Guo shawn.guo at freescale.com
Fri Dec 16 01:15:56 EST 2011


On Thu, Dec 15, 2011 at 07:56:41AM -0600, Rob Herring wrote:
[...]
> >> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> >> index eb763f7..2a2aac1 100644
> >> --- a/kernel/irq/irqdomain.c
> >> +++ b/kernel/irq/irqdomain.c
> >> @@ -39,7 +39,7 @@ void irq_domain_add(struct irq_domain *domain)
> >>                         return;
> >>                 }
> >>                 d->domain = domain;
> >> -               d->hwirq = hwirq;
> >> +               d->hwirq = hwirq - domain->hwirq_base;
> > 
> > This is a problem. It entirely defeats the point of hwirq_base and it
> > would break the GIC. We need to fix this in the generic irq chip.
> > 
> 
> I think I found a fix. Can you try 's/d->hwirq/(d->hwirq % 32)/' in
> generic-chip.c.
> 
Needless to try (will try later), this will work.  But again, what do
we need to change 'd->irq - d->irq_base' at all?

-- 
Regards,
Shawn



More information about the devicetree-discuss mailing list