[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