[PATCH 3/9] irq: convert generic-chip to use irq_domain
From: Shawn Guo <hidden>
Date: 2011-12-15 14:02:53
Also in:
linux-devicetree, lkml
From: Shawn Guo <hidden>
Date: 2011-12-15 14:02:53
Also in:
linux-devicetree, lkml
On Thu, Dec 15, 2011 at 07:56:41AM -0600, Rob Herring wrote: [...]
quoted
quoted
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